• Sherry Yang's avatar
    scsi: lpfc: Fix overflow build issue · 3417c957
    Sherry Yang authored
    Build failed while enabling "CONFIG_GCOV_KERNEL=y" and
    "CONFIG_GCOV_PROFILE_ALL=y" with following error:
    
    BUILDSTDERR: drivers/scsi/lpfc/lpfc_bsg.c: In function 'lpfc_get_cgnbuf_info':
    BUILDSTDERR: ./include/linux/fortify-string.h:114:33: error: '__builtin_memcpy' accessing 18446744073709551615 bytes at offsets 0 and 0 overlaps 9223372036854775807 bytes at offset -9223372036854775808 [-Werror=restrict]
    BUILDSTDERR:   114 | #define __underlying_memcpy     __builtin_memcpy
    BUILDSTDERR:       |                                 ^
    BUILDSTDERR: ./include/linux/fortify-string.h:637:9: note: in expansion of macro '__underlying_memcpy'
    BUILDSTDERR:   637 |         __underlying_##op(p, q, __fortify_size);                        \
    BUILDSTDERR:       |         ^~~~~~~~~~~~~
    BUILDSTDERR: ./include/linux/fortify-string.h:682:26: note: in expansion of macro '__fortify_memcpy_chk'
    BUILDSTDERR:   682 | #define memcpy(p, q, s)  __fortify_memcpy_chk(p, q, s,                  \
    BUILDSTDERR:       |                          ^~~~~~~~~~~~~~~~~~~~
    BUILDSTDERR: drivers/scsi/lpfc/lpfc_bsg.c:5468:9: note: in expansion of macro 'memcpy'
    BUILDSTDERR:  5468 |         memcpy(cgn_buff, cp, cinfosz);
    BUILDSTDERR:       |         ^~~~~~
    
    This happens from the commit 06bb7fc0 ("kbuild: turn on -Wrestrict by
    default"). Address this issue by using size_t type.
    Signed-off-by: default avatarSherry Yang <sherry.yang@oracle.com>
    Link: https://lore.kernel.org/r/20240821065131.1180791-1-sherry.yang@oracle.comReviewed-by: default avatarJustin Tee <justin.tee@broadcom.com>
    Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    3417c957
lpfc_bsg.c 157 KB