firmware: arm_ffa: Avoid string-fortify warning caused by memcpy()
authorGavin Shan <gshan@redhat.com>
Mon, 14 Oct 2024 00:47:24 +0000 (10:47 +1000)
committerSudeep Holla <sudeep.holla@arm.com>
Tue, 15 Oct 2024 12:50:10 +0000 (13:50 +0100)
commitb0798838418abe996d9b618d341d865462264cbe
treea3e06cbdc5921915075bacad2c2a98f6aec61b45
parent629253b2f6d74e7bf9e7e3134ed6c8355a3c8619
firmware: arm_ffa: Avoid string-fortify warning caused by memcpy()

Copying from a 144 byte structure arm_smccc_1_2_regs at an offset of 32
into an 112 byte struct ffa_send_direct_data2 causes a compile-time warning:

 | In file included from drivers/firmware/arm_ffa/driver.c:25:
 | In function 'fortify_memcpy_chk',
 |    inlined from 'ffa_msg_send_direct_req2' at drivers/firmware/arm_ffa/driver.c:504:3:
 | include/linux/fortify-string.h:580:4: warning: call to '__read_overflow2_field'
 |  declared with 'warning' attribute: detected read beyond size of field
 |  (2nd parameter); maybe use struct_group()? [-Wattribute-warning]
 |                         __read_overflow2_field(q_size_field, size);

Fix it by not passing a plain buffer to memcpy() to avoid the overflow
warning.

Fixes: aaef3bc98129 ("firmware: arm_ffa: Add support for FFA_MSG_SEND_DIRECT_{REQ,RESP}2")
Signed-off-by: Gavin Shan <gshan@redhat.com>
Message-Id: <20241014004724.991353-1-gshan@redhat.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
drivers/firmware/arm_ffa/driver.c