]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
firmware: arm_ffa: Skip the first/partition ID when parsing vCPU list
authorSudeep Holla <sudeep.holla@arm.com>
Sun, 23 Feb 2025 21:39:09 +0000 (21:39 +0000)
committerSudeep Holla <sudeep.holla@arm.com>
Sun, 23 Feb 2025 21:41:14 +0000 (21:41 +0000)
The FF-A notification id list received in response to the call
FFA_NOTIFICATION_INFO_GET is encoded as: partition ID followed by 0 or
more vCPU ID. The count includes all of them.

Fix the issue by skipping the first/partition ID so that only the list
of vCPU IDs are processed correctly for a given partition ID. The first/
partition ID is read before the start of the loop.

Fixes: 3522be48d82b ("firmware: arm_ffa: Implement the NOTIFICATION_INFO_GET interface")
Reported-by: Andrei Homescu <ahomescu@google.com>
Message-Id: <20250223213909.1197786-1-sudeep.holla@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
drivers/firmware/arm_ffa/driver.c

index 37305f37132cecaf19ee2ab717492df0f2456557..19295282de240621a5e12555cff2dd32e2e8fffe 100644 (file)
@@ -1012,7 +1012,7 @@ static void ffa_notification_info_get(void)
                        }
 
                        /* Per vCPU Notification */
-                       for (idx = 0; idx < ids_count[list]; idx++) {
+                       for (idx = 1; idx < ids_count[list]; idx++) {
                                if (ids_processed >= max_ids - 1)
                                        break;