]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
firmware: arm_ffa: Explicitly cast return value from NOTIFICATION_INFO_GET
authorSudeep Holla <sudeep.holla@arm.com>
Fri, 21 Feb 2025 09:56:32 +0000 (09:56 +0000)
committerSudeep Holla <sudeep.holla@arm.com>
Fri, 21 Feb 2025 11:40:24 +0000 (11:40 +0000)
commit3e282f41585c4dd49b688bd6395fd6f21a57c9f7
tree9976c6022b2ab98305295b9a37e95551ff5343cf
parentcecf6a504137aa238d768ae440a1f6488cb2f436
firmware: arm_ffa: Explicitly cast return value from NOTIFICATION_INFO_GET

The return value ret.a2 is of type unsigned long and FFA_RET_NO_DATA is
a negative value.

Since the return value from the firmware can be just 32-bit even on
64-bit systems as FFA specification mentions it as int32 error code in
w0 register, explicitly casting to s32 ensures correct sign interpretation
when comparing against a signed error code FFA_RET_NO_DATA.

Without casting, comparison between unsigned long and a negative
constant could lead to unintended results due to type promotions.

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