lkml.org 
[lkml]   [2021]   [Dec]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH] scsi: lpfc: Use struct_group to isolate cast to larger object
From
On 12/3/2021 2:33 PM, Kees Cook wrote:
> When building under -Warray-bounds, a warning is generated when casting
> a u32 into MAILBOX_t (which is larger). This warning is conservative, but
> it's not an unreasonable change to make to improve future robustness. Use
> a tagged struct_group that can refer to either the specific fields or
> the first u32 separately, silencing this warning:
>
> drivers/scsi/lpfc/lpfc_sli.c: In function 'lpfc_reset_barrier':
> drivers/scsi/lpfc/lpfc_sli.c:4787:29: error: array subscript 'MAILBOX_t[0]' is partly outside array bounds of 'volatile uint32_t[1]' {aka 'volatile unsigned int[1]'} [-Werror=array-bounds]
> 4787 | ((MAILBOX_t *)&mbox)->mbxCommand = MBX_KILL_BOARD;
> | ^~
> drivers/scsi/lpfc/lpfc_sli.c:4752:27: note: while referencing 'mbox'
> 4752 | volatile uint32_t mbox;
> | ^~~~
>
> There is no change to the resulting executable instruction code.
>
> Signed-off-by: Kees Cook <keescook@chromium.org>
> ---

looks fine.

Reviewed-by: James Smart <jsmart2021@gmail.com>

-- james


\
 
 \ /
  Last update: 2021-12-09 15:50    [W:0.066 / U:0.056 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site