[PATCH] nvme-fc: Prevent null pointer dereference in nvme_fc_io_getuuid()

Nigel Kirkland nkirkland2304 at gmail.com
Thu Aug 17 12:43:01 PDT 2023


The nvme_fc_fcp_op structure describing an AEN operation is initialized with a
null request structure pointer. An FC LLDD may make a call to
nvme_fc_io_getuuid passing a pointer to an nvmefc_fcp_req for an AEN operation.

Add validation of the request structure pointer before dereference.

Signed-off-by: Nigel Kirkland <nkirkland2304 at gmail.com>
---
 drivers/nvme/host/fc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


diff --git a/drivers/nvme/host/fc.c b/drivers/nvme/host/fc.c
index 1cd2bf8..a15b377 100644
--- a/drivers/nvme/host/fc.c
+++ b/drivers/nvme/host/fc.c
@@ -1924,7 +1924,7 @@ char *nvme_fc_io_getuuid(struct nvmefc_fcp_req *req)
     struct nvme_fc_fcp_op *op = fcp_req_to_fcp_op(req);
     struct request *rq = op->rq;

-    if (!IS_ENABLED(CONFIG_BLK_CGROUP_FC_APPID) || !rq->bio)
+    if (!IS_ENABLED(CONFIG_BLK_CGROUP_FC_APPID) || !rq || !rq->bio)
         return NULL;
     return blkcg_get_fc_appid(rq->bio);
 }



More information about the Linux-nvme mailing list