String fixups in ibmvscsi
Subsystems (3)
v3 cover String fixups in ibmvscsi
Hi,
This is (hopefully) the last version of the string fixups found in the ibmvscsi driver.
Laura Abbott (2):
scsi: ibmvscsis: Fix a stringop-overflow warning
scsi: ibmvscsis: Ensure partition name is properly NUL terminated
drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
Signature · 1 line
2.17.1
PATCH v3 1/2 scsi: ibmvscsis: Fix a stringop-overflow warning
There's currently a warning about string overflow with strncat:
drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c: In function 'ibmvscsis_probe':drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c:3479:2: error: 'strncat' specified bound 64 equals destination size [-Werror=stringop-overflow=]
strncat(vscsi->eye, vdev->name, MAX_EYE); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Switch to a single snprintf instead of a strcpy + strcat to handle this cleanly.
---
v3: Make sure there is an extra space in the partition name
--- drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c +1 -2
@@ -3474,8 +3474,7 @@ static int ibmvscsis_probe(struct vio_dev *vdev, vscsi->dds.window[LOCAL ].liobn, vscsi->dds.window[REMOTE].liobn); -strcpy (vscsi->eye,"VSCSI " ); -strncat (vscsi->eye, vdev->name,MAX_EYE ); +snprintf (vscsi->eye,sizeof (vscsi->eye),"VSCSI %s" , vdev->name); vscsi->dds.unit_id = vdev->unit_address; strncpy(vscsi->dds.partition_name, partition_name,
Signature · 1 line
2.17.1
Re: [PATCHv3 1/2] scsi: ibmvscsis: Fix a stringop-overflow warning
Quoted 15 lines · Laura Abbott
There's currently a warning about string overflow with strncat:
drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c: In function 'ibmvscsis_probe':drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c:3479:2: error: 'strncat' specified bound 64 equals destination size [-Werror=stringop-overflow=]
strncat(vscsi->eye, vdev->name, MAX_EYE); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Switch to a single snprintf instead of a strcpy + strcat to handle this cleanly.
Quoted 7 lines
Signed-off-by Laura Abbott <[email protected]>---
v3: Make sure there is an extra space in the partition name
---drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c| 3 +--1 file changed, 1 insertion(+), 2 deletions(-)
I sent a PR to update my email from [email protected] a week ago.
-Bryant
PATCH v2 2/2 scsi: ibmvscsis: Ensure partition name is properly NUL terminated
In reply to Laura AbbottWhile reviewing another part of the code, Kees noticed that the strncpy of the partition name might not always be NUL terminated. Switch to using strscpy which does this safely.
---
v2: Switch to strscpy instead of just strlcpy
--- drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c +1 -1
@@ -3477,7 +3477,7 @@ static int ibmvscsis_probe(struct vio_dev *vdev,snprintf (vscsi->eye,sizeof (vscsi->eye),"VSCSI %s" , vdev->name); vscsi->dds.unit_id = vdev->unit_address; -strncpy (vscsi->dds.partition_name, partition_name, +strscpy (vscsi->dds.partition_name, partition_name,sizeof (vscsi->dds.partition_name)); vscsi->dds.partition_num = partition_number;
Signature · 1 line
2.17.1
Re: [PATCHv2 2/2] scsi: ibmvscsis: Ensure partition name is properly NUL terminated
Quoted 7 lines · Laura Abbott
While reviewing another part of the code, Kees noticed that the strncpy of the partition name might not always be NUL terminated. Switch to using strscpy which does this safely.
Reported-by Kees Cook <[email protected]>Signed-off-by Laura Abbott <[email protected]>
-Kees
Quoted 22 lines
---
v2: Switch to strscpy instead of just strlcpy--- drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c +1
-2@@ -3477,7 +3477,7 @@ static int ibmvscsis_probe(struct vio_dev *vdev,snprintf (vscsi->eye,sizeof (vscsi->eye),"VSCSI %s" , vdev->name); vscsi->dds.unit_id = vdev->unit_address; -strncpy (vscsi->dds.partition_name, partition_name, +strscpy (vscsi->dds.partition_name, partition_name,sizeof (vscsi->dds.partition_name)); vscsi->dds.partition_num = partition_number; --2.17.1
Signature · 2 lines
Kees Cook Pixel Security
Re: [PATCHv2 2/2] scsi: ibmvscsis: Ensure partition name is properly NUL terminated
In reply to Laura AbbottQuoted 8 lines · Laura Abbott
While reviewing another part of the code, Kees noticed that the strncpy of the partition name might not always be NUL terminated. Switch to using strscpy which does this safely.
Quoted 9 lines
Reported-by Kees Cook <[email protected]>Signed-off-by Laura Abbott <[email protected]>Reviewed-by Kees Cook <[email protected]>---
v2: Switch to strscpy instead of just strlcpy
---drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c| 2 +-1 file changed, 1 insertion(+), 1 deletion(-)
I sent a PR to update my email from [email protected] a week ago.
-Bryant
Martin K. Petersen
AppliedLaura,
Quoted 2 lines
This is (hopefully) the last version of the string fixups found in the ibmvscsi driver.
Applied to 4.19/scsi-fixes, thank you!
Signature · 1 line
Martin K. Petersen Oracle Linux Engineering