[PATCH 09/40] scsi: pm8001: pm8001_sas: Fix strncpy() warning

From: Lee Jones
Date: Tue Jul 21 2020 - 12:44:40 EST


We're assuming that the string should be NUL terminated here.

If not, then memcpy() might be more appropriate.

Fixes the following W=1 kernel build warning(s):

from drivers/scsi/pm8001/pm8001_sas.c:41:
In function âstrncpyâ,
inlined from âpm8001_issue_ssp_tmfâ at drivers/scsi/pm8001/pm8001_sas.c:919:2:
include/linux/string.h:297:30: warning: â__builtin_strncpyâ specified bound 8 equals destination size [-Wstringop-truncation]
297 | #define __underlying_strncpy __builtin_strncpy
| ^
include/linux/string.h:307:9: note: in expansion of macro â__underlying_strncpyâ
307 | return __underlying_strncpy(p, q, size);
| ^~~~~~~~~~~~~~~~~~~~

Cc: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxx>
Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
---
drivers/scsi/pm8001/pm8001_sas.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/scsi/pm8001/pm8001_sas.c b/drivers/scsi/pm8001/pm8001_sas.c
index b7cbc312843e9..941f783897d8e 100644
--- a/drivers/scsi/pm8001/pm8001_sas.c
+++ b/drivers/scsi/pm8001/pm8001_sas.c
@@ -916,7 +916,7 @@ static int pm8001_issue_ssp_tmf(struct domain_device *dev,
if (!(dev->tproto & SAS_PROTOCOL_SSP))
return TMF_RESP_FUNC_ESUPP;

- strncpy((u8 *)&ssp_task.LUN, lun, 8);
+ strscpy((u8 *)&ssp_task.LUN, lun, sizeof(ssp_task.LUN));
return pm8001_exec_internal_tmf_task(dev, &ssp_task, sizeof(ssp_task),
tmf);
}
--
2.25.1