Re: [PATCH] RDMA/core: Use flexible array for mad data

From: Jason Gunthorpe
Date: Tue Jun 22 2021 - 13:09:40 EST


On Wed, Jun 16, 2021 at 01:26:15PM -0700, Kees Cook wrote:
> In preparation for FORTIFY_SOURCE performing compile-time and run-time
> field bounds checking for memcpy(), memmove(), and memset(), avoid
> intentionally read across neighboring array fields.
>
> Without a flexible array, this looks like an attempt to perform a
> memcpy() read beyond the end of the packet->mad.data array:
>
> drivers/infiniband/core/user_mad.c:
> memcpy(packet->msg->mad, packet->mad.data, IB_MGMT_MAD_HDR);
>
> Switch from [0] to [] to use the appropriately handled type for trailing
> bytes.
>
> Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
> ---
> include/uapi/rdma/ib_user_mad.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)

Applied to for-next, thanks

Jason