[PATCH] scsi: cxlflash: Fix null pointer dereference in ocxlflash_get_fd

Kunwu Chan posted 1 patch 2 years ago
drivers/scsi/cxlflash/ocxl_hw.c | 5 +++++
1 file changed, 5 insertions(+)
[PATCH] scsi: cxlflash: Fix null pointer dereference in ocxlflash_get_fd
Posted by Kunwu Chan 2 years ago
kasprintf() returns a pointer to dynamically allocated memory
which can be NULL upon failure.

Fixes: 926a62f9bd53 ("scsi: cxlflash: Support adapter file descriptors for OCXL")
Signed-off-by: Kunwu Chan <chentao@kylinos.cn>
---
 drivers/scsi/cxlflash/ocxl_hw.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/scsi/cxlflash/ocxl_hw.c b/drivers/scsi/cxlflash/ocxl_hw.c
index 6542818e595a..aa5703a69bc0 100644
--- a/drivers/scsi/cxlflash/ocxl_hw.c
+++ b/drivers/scsi/cxlflash/ocxl_hw.c
@@ -1231,6 +1231,11 @@ static struct file *ocxlflash_get_fd(void *ctx_cookie,
 		fops = (struct file_operations *)&ocxl_afu_fops;
 
 	name = kasprintf(GFP_KERNEL, "ocxlflash:%d", ctx->pe);
+	if (!name) {
+		rc = -ENOMEM;
+		dev_err(dev, "%s: kasprintf allocation failed\n", __func__);
+		goto err2;
+	}
 	file = ocxlflash_getfile(dev, name, fops, ctx, flags);
 	kfree(name);
 	if (IS_ERR(file)) {
-- 
2.34.1
Re: [PATCH] scsi: cxlflash: Fix null pointer dereference in ocxlflash_get_fd
Posted by Markus Elfring 1 year, 11 months ago
> kasprintf() returns a pointer to dynamically allocated memory
> which can be NULL upon failure.
…
> +++ b/drivers/scsi/cxlflash/ocxl_hw.c
> @@ -1231,6 +1231,11 @@ static struct file *ocxlflash_get_fd(void *ctx_cookie,
>  		fops = (struct file_operations *)&ocxl_afu_fops;
>
>  	name = kasprintf(GFP_KERNEL, "ocxlflash:%d", ctx->pe);
> +	if (!name) {
> +		rc = -ENOMEM;
> +		dev_err(dev, "%s: kasprintf allocation failed\n", __func__);
> +		goto err2;
> +	}
…

How do you think about to omit the extra error message?

Regards,
Markus