FAILED: patch "[PATCH] nvme: Fix nvme_get/set_features() with a NULL result pointer" failed to apply to 4.7-stable tree
Subsystems (2)
[email protected]
maintainerThe patch below does not apply to the 4.7-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
Quoted 1 line
From
9b47f77a680447e0132b2cf7fb82374e014bec1cMon Sep 17 00:00:00 2001
From: Andy Lutomirski <[email protected]>
Date: Wed, 24 Aug 2016 03:52:12 -0700
Subject: [PATCH] nvme: Fix nvme_get/set_features() with a NULL result pointer
nvme_set_features() callers seem to expect that passing NULL as the result pointer is acceptable. Teach nvme_set_features() not to try to write to the NULL address.
For symmetry, make the same change to nvme_get_features(), despite the fact that all current callers pass a valid result pointer.
I assume that this bug hasn't been reported in practice because the callers that pass NULL are all in the SCSI translation layer and no one uses the relevant operations.
drivers/nvme/host/core.c +2 -2
@@ -611,7 +611,7 @@ int nvme_get_features(struct nvme_ctrl *dev, unsigned fid, unsigned nsid, ret =__nvme_submit_sync_cmd (dev->admin_q, &c, &cqe,NULL ,0 ,0 ,NVME_QID_ANY ,0 ,0 ); -if (ret >=0 ) +if (ret >=0 && result) *result =le32_to_cpu (cqe.result);return ret; }
@@ -631,7 +631,7 @@ int nvme_set_features(struct nvme_ctrl *dev, unsigned fid, unsigned dword11, ret =__nvme_submit_sync_cmd (dev->admin_q, &c, &cqe,NULL ,0 ,0 ,NVME_QID_ANY ,0 ,0 ); -if (ret >=0 ) +if (ret >=0 && result) *result =le32_to_cpu (cqe.result);return ret; }