fix(notifications): return error if MBZ set in bind

Return FFA_INVALID_PARAMETERS if any of the flag bits that MBZ is set
when invoking FFA_NOTIFICATION_BIND.

Change-Id: Ie6dc37e0fff26a2ad10119b61e9c782fde711a9b
Signed-off-by: J-Alves <joao.alves@arm.com>
diff --git a/src/api.c b/src/api.c
index 7a3257d..8ae4e4a 100644
--- a/src/api.c
+++ b/src/api.c
@@ -3280,6 +3280,12 @@
 		is_bind ? sender_vm_id : HF_INVALID_VM_ID;
 	const ffa_vm_id_t id_to_validate =
 		is_bind ? HF_INVALID_VM_ID : sender_vm_id;
+	const uint32_t flags_mbz =
+		is_bind ? ~FFA_NOTIFICATIONS_FLAG_PER_VCPU : ~0U;
+
+	if ((flags_mbz & flags) != 0U) {
+		return ffa_error(FFA_INVALID_PARAMETERS);
+	}
 
 	if (!plat_ffa_is_notifications_bind_valid(current, sender_vm_id,
 						  receiver_vm_id)) {