scsi: ibmvscsis: Ensure partition name is properly NUL terminated
Subsystems (2)
PATCH 1/1 scsi: ibmvscsis: Ensure partition name is properly NUL terminated
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 strlcpy which does this safely.
---
I realized looking at this that I probably should have made this and my previous patch a series given this has context depending on the other patch. I can resend if the scsi maintainers want.
--- 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, +strlcpy (vscsi->dds.partition_name, partition_name,sizeof (vscsi->dds.partition_name)); vscsi->dds.partition_num = partition_number;
Signature · 1 line
2.17.1
Quoted 19 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 strlcpy which does this safely.
Reported-by Kees Cook <[email protected]>Signed-off-by Laura Abbott <[email protected]>---
I realized looking at this that I probably should have made this and my previous patch a series given this has context depending on the other patch. I can resend if the scsi maintainers want.--- drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c +0
-0
drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c static int ibmvscsis_probe(struct vio_dev *vdev, · line 3480
Quoted 5 lines
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, + strlcpy(vscsi->dds.partition_name, partition_name,
Please use strscpy() in favor of strlcpy().
-Kees
Quoted 6 lines
drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c +0
-1sizeof(vscsi->dds.partition_name)); vscsi->dds.partition_num = partition_number; --2.17.1
Signature · 2 lines
Kees Cook Pixel Security