Message ID | 20210920095628.1191676-1-arnd@kernel.org (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | scsi: lpfc: Fix gcc -Wstringop-overread warning, again | expand |
On 9/20/2021 2:56 AM, Arnd Bergmann wrote: > From: Arnd Bergmann <arnd@arndb.de> > > I fixed a stringop-overread warning earlier this year, now a > second copy of the original code was added and the warning came > back: > > drivers/scsi/lpfc/lpfc_attr.c: In function 'lpfc_cmf_info_show': > drivers/scsi/lpfc/lpfc_attr.c:289:25: error: 'strnlen' specified bound 4095 exceeds source size 24 [-Werror=stringop-overread] > 289 | strnlen(LPFC_INFO_MORE_STR, PAGE_SIZE - 1), > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > Fix it the same way as the other copy. > > Fixes: ada48ba70f6b ("scsi: lpfc: Fix gcc -Wstringop-overread warning") > Fixes: 74a7baa2a3ee ("scsi: lpfc: Add cmf_info sysfs entry") > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- > drivers/scsi/lpfc/lpfc_attr.c | 7 ++----- Thank You Arnd. Looks good. Reviewed-by: James Smart <jsmart2021@gmail.com> -- james
On Mon, 20 Sep 2021 11:56:22 +0200, Arnd Bergmann wrote: > From: Arnd Bergmann <arnd@arndb.de> > > I fixed a stringop-overread warning earlier this year, now a > second copy of the original code was added and the warning came > back: > > drivers/scsi/lpfc/lpfc_attr.c: In function 'lpfc_cmf_info_show': > drivers/scsi/lpfc/lpfc_attr.c:289:25: error: 'strnlen' specified bound 4095 exceeds source size 24 [-Werror=stringop-overread] > 289 | strnlen(LPFC_INFO_MORE_STR, PAGE_SIZE - 1), > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > [...] Applied to 5.15/scsi-fixes, thanks! [1/1] scsi: lpfc: Fix gcc -Wstringop-overread warning, again https://git.kernel.org/mkp/scsi/c/a38923f2d088
diff --git a/drivers/scsi/lpfc/lpfc_attr.c b/drivers/scsi/lpfc/lpfc_attr.c index b35bf70a8c0d..ca0433e28ac3 100644 --- a/drivers/scsi/lpfc/lpfc_attr.c +++ b/drivers/scsi/lpfc/lpfc_attr.c @@ -285,11 +285,8 @@ lpfc_cmf_info_show(struct device *dev, struct device_attribute *attr, "6312 Catching potential buffer " "overflow > PAGE_SIZE = %lu bytes\n", PAGE_SIZE); - strscpy(buf + PAGE_SIZE - 1 - - strnlen(LPFC_INFO_MORE_STR, PAGE_SIZE - 1), - LPFC_INFO_MORE_STR, - strnlen(LPFC_INFO_MORE_STR, PAGE_SIZE - 1) - + 1); + strscpy(buf + PAGE_SIZE - 1 - sizeof(LPFC_INFO_MORE_STR), + LPFC_INFO_MORE_STR, sizeof(LPFC_INFO_MORE_STR) + 1); } return len; }