Account for SPCI message header in received buffer.

Change-Id: Iaafd7cb7887dbee611152ac1a3ad2a40cd948a60
diff --git a/main.c b/main.c
index 44c782e..6d306fe 100644
--- a/main.c
+++ b/main.c
@@ -279,10 +279,12 @@
  * Handles a message delivered to this VM by validating that it's well-formed
  * and then queueing it for delivery to the appropriate socket.
  */
-static void hf_handle_message(struct hf_vm *sender, const void *ptr, size_t len)
+static void hf_handle_message(struct hf_vm *sender,
+			      const struct spci_message *message)
 {
 	struct hf_sock *hsock;
-	const struct hf_msg_hdr *hdr = ptr;
+	const struct hf_msg_hdr *hdr = (struct hf_msg_hdr *)message->payload;
+	size_t len = message->length;
 	struct sk_buff *skb;
 	int err;
 
@@ -409,8 +411,7 @@
 		case HF_VCPU_RUN_MESSAGE:
 			if (ret.message.vm_id == HF_PRIMARY_VM_ID) {
 				hf_handle_message(vcpu->vm,
-						  page_address(hf_recv_page),
-						  ret.message.size);
+						  page_address(hf_recv_page));
 			} else {
 				hf_deliver_message(ret.message.vm_id);
 			}