scsi: lpfc: Fix gcc -Wstringop-overread warning
authorArnd Bergmann <arnd@arndb.de>
Mon, 22 Mar 2021 16:02:47 +0000 (17:02 +0100)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 2 Apr 2021 02:58:34 +0000 (22:58 -0400)
commitada48ba70f6b98b7e93eea56770d6e6932734783
tree74581f5d2fba740d4aa9fd3655efd6ba7e36f267
parentae3645d29d4e5f496206ee571d0c8361bd38e242
scsi: lpfc: Fix gcc -Wstringop-overread warning

gcc-11 warns about an strnlen with a length larger than the size of the
passed buffer:

drivers/scsi/lpfc/lpfc_attr.c: In function 'lpfc_nvme_info_show':
drivers/scsi/lpfc/lpfc_attr.c:518:25: error: 'strnlen' specified bound 4095 exceeds source size 24 [-Werror=stringop-overread]
  518 |                         strnlen(LPFC_NVME_INFO_MORE_STR, PAGE_SIZE - 1)
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In this case, the code is entirely valid, as the string is properly
terminated, and the size argument is only there out of extra caution in
case it exceeds a page.

This cannot really happen here, so just simplify it to a sizeof().

Link: https://lore.kernel.org/r/20210322160253.4032422-10-arnd@kernel.org
Fixes: afff0d2321ea ("scsi: lpfc: Add Buffer overflow check, when nvme_info larger than PAGE_SIZE")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/lpfc/lpfc_attr.c