firmware: arm_ffa: Fix the race around setting ffa_dev->properties
authorLevi Yun <yeoreum.yun@arm.com>
Tue, 3 Dec 2024 14:31:08 +0000 (14:31 +0000)
committerSudeep Holla <sudeep.holla@arm.com>
Wed, 4 Dec 2024 09:59:54 +0000 (09:59 +0000)
commit6fe437cfe2cdc797b03f63b338a13fac96ed6a08
tree0e2f0c6013f7c3a5eb502e18a21120f916b5ed32
parent40384c840ea1944d7c5a392e8975ed088ecf0b37
firmware: arm_ffa: Fix the race around setting ffa_dev->properties

Currently, ffa_dev->properties is set after the ffa_device_register()
call return in ffa_setup_partitions(). This could potentially result in
a race where the partition's properties is accessed while probing
struct ffa_device before it is set.

Update the ffa_device_register() to receive ffa_partition_info so all
the data from the partition information received from the firmware can
be updated into the struct ffa_device before the calling device_register()
in ffa_device_register().

Fixes: e781858488b9 ("firmware: arm_ffa: Add initial FFA bus support for device enumeration")
Signed-off-by: Levi Yun <yeoreum.yun@arm.com>
Message-Id: <20241203143109.1030514-2-yeoreum.yun@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
drivers/firmware/arm_ffa/bus.c
drivers/firmware/arm_ffa/driver.c
include/linux/arm_ffa.h