Check memory share recipient.
Bug: 132420445
Change-Id: Ie333e3985633752b9995f0819f6dde71a46fab27
diff --git a/src/spci_architected_message.c b/src/spci_architected_message.c
index 614cd4d..7c9d2b7 100644
--- a/src/spci_architected_message.c
+++ b/src/spci_architected_message.c
@@ -593,6 +593,11 @@
return spci_error(SPCI_INVALID_PARAMETERS);
}
+ /* The recipient must match the message recipient. */
+ if (memory_region->attributes[0].receiver != to_locked.vm->id) {
+ return spci_error(SPCI_INVALID_PARAMETERS);
+ }
+
switch (share) {
case SPCI_MEMORY_DONATE:
case SPCI_MEMORY_LEND: