[PATCH] scsi: virtio_scsi: Modify the kmalloc allocation flag

Li zeming posted 1 patch 2 years, 6 months ago
drivers/scsi/virtio_scsi.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] scsi: virtio_scsi: Modify the kmalloc allocation flag
Posted by Li zeming 2 years, 6 months ago
The inq_result pointer must be allocated successfully; otherwise,
subsequent function execution may crash.

Signed-off-by: Li zeming <zeming@nfschina.com>
---
 drivers/scsi/virtio_scsi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/scsi/virtio_scsi.c b/drivers/scsi/virtio_scsi.c
index d07d24c06b54..3252f4b42261 100644
--- a/drivers/scsi/virtio_scsi.c
+++ b/drivers/scsi/virtio_scsi.c
@@ -336,7 +336,7 @@ static void virtscsi_rescan_hotunplug(struct virtio_scsi *vscsi)
 	struct Scsi_Host *shost = virtio_scsi_host(vscsi->vdev);
 	unsigned char scsi_cmd[MAX_COMMAND_SIZE];
 	int result, inquiry_len, inq_result_len = 256;
-	char *inq_result = kmalloc(inq_result_len, GFP_KERNEL);
+	char *inq_result = kmalloc(inq_result_len, __GFP_NOFAIL);
 
 	shost_for_each_device(sdev, shost) {
 		inquiry_len = sdev->inquiry_len ? sdev->inquiry_len : 36;
-- 
2.18.2
Re: [PATCH] scsi: virtio_scsi: Modify the kmalloc allocation flag
Posted by Christoph Hellwig 2 years, 6 months ago
On Sat, Feb 18, 2023 at 08:53:56AM +0800, Li zeming wrote:
> The inq_result pointer must be allocated successfully; otherwise,
> subsequent function execution may crash.

The error needs to be handled.  Or in fact this LLDD needs to stop
breaking layering and issuing it's own INQUIRY commands.