]> git.itanic.dy.fi Git - linux-stable/commit
firmware: arm_ffa: Set reserved/MBZ fields to zero in the memory descriptors
authorSudeep Holla <sudeep.holla@arm.com>
Wed, 3 May 2023 13:12:52 +0000 (14:12 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 30 May 2023 12:55:33 +0000 (13:55 +0100)
commit28ebfb74fbf513e0c7cd2674d8c2400ee0220d18
tree64743e7c84c090bbc76d4e68c9eb7ac3483a9c5f
parent34b0985ebdfcdb7194368be6a1ac818736ba9c67
firmware: arm_ffa: Set reserved/MBZ fields to zero in the memory descriptors

commit 111a833dc5cbef3d05b2a796a7e23cb7f6ff2192 upstream.

The transmit buffers allocated by the driver can be used to transmit data
by any messages/commands needing the buffer. However, it is not guaranteed
to have been zero-ed before every new transmission and hence it will just
contain residual value from the previous transmission. There are several
reserved fields in the memory descriptors that must be zero(MBZ). The
receiver can reject the transmission if any such MBZ fields are non-zero.

While we can set the whole page to zero, it is not optimal as most of the
fields get initialised to the value required for the current transmission.

So, just set the reserved/MBZ fields to zero in the memory descriptors
explicitly to honour the requirement and keep the receiver happy.

Fixes: cc2195fe536c ("firmware: arm_ffa: Add support for MEM_* interfaces")
Reported-by: Marc Bonnici <marc.bonnici@arm.com>
Link: https://lore.kernel.org/r/20230503131252.12585-1-sudeep.holla@arm.com
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/firmware/arm_ffa/driver.c