Re: [PATCH] scsi: megaraid_sas: Add flexible array member for SGLs

Holger Kiehl
2023-01-06T11:49:20Z

On Thu, 5 Jan 2023, Kees Cook wrote:

> struct MPI2_RAID_SCSI_IO_REQUEST ends with a single SGL, but expects to
> copy multiple. Add a flexible array member so the compiler can reason
> about the size of the memcpy(). This will avoid the run-time false
> positive warning:
>
> memcpy: detected field-spanning write (size 128) of single field "&r1_cmd->io_request->SGL" at drivers/scsi/megaraid/megaraid_sas_fusion.c:3326 (size 16)
>
> This change results in no binary output differences.
>
> Reported-by: Holger Kiehl <Holger.Kiehl@dwd.de>
> Link: https://lore.kernel.org/all/88de8faa-56c4-693d-2d3-67152ee72057@diagnostix.dwd.de/
> Cc: Kashyap Desai <kashyap.desai@broadcom.com>
> Cc: Sumit Saxena <sumit.saxena@broadcom.com>
> Cc: Shivasharan S <shivasharan.srikanteshwara@broadcom.com>
> Cc: "James E.J. Bottomley" <jejb@linux.ibm.com>
> Cc: "Martin K. Petersen" <martin.petersen@oracle.com>
> Cc: megaraidlinux.pdl@broadcom.com
> Cc: linux-scsi@vger.kernel.org
> Signed-off-by: Kees Cook <keescook@chromium.org>
> ---
> Holger, are you able to test this change? I expect it should do the
> trick, but I don't have the hardware.
>
Yes, that does work. I no longer see 'memcpy: detected field-spanning
write (size 128)'. Tested this on 6.1.4-rc1. Did not see any other
regression.

Regards,
Holger