• Kees Cook's avatar
    ata: sata_fsl: Use struct_group() for memcpy() region · 23c72ffe
    Kees Cook authored
    
    
    In preparation for FORTIFY_SOURCE performing compile-time and run-time
    field bounds checking for memcpy(), memmove(), and memset(), avoid
    intentionally writing across neighboring fields.
    
    Use struct_group() in struct command_desc around members acmd and fill,
    so they can be referenced together. This will allow memset(), memcpy(),
    and sizeof() to more easily reason about sizes, improve readability,
    and avoid future warnings about writing beyond the end of acmd:
    
    In function 'fortify_memset_chk',
        inlined from 'sata_fsl_qc_prep' at drivers/ata/sata_fsl.c:534:3:
    ./include/linux/fortify-string.h:199:4: warning: call to '__write_overflow_field' declared with attribute warning: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Wattribute-warning]
      199 |    __write_overflow_field();
          |    ^~~~~~~~~~~~~~~~~~~~~~~~
    Signed-off-by: default avatarKees Cook <keescook@chromium.org>
    Signed-off-by: default avatarDamien Le Moal <damien.lemoal@opensource.wdc.com>
    23c72ffe
sata_fsl.c 43 KB