Re: [bug report] kmemleak observed during blktests nvme-tcp

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 5/1/23 11:23, Chaitanya Kulkarni wrote:
On 4/27/23 08:57, Yi Zhang wrote:
On Thu, Apr 27, 2023 at 6:58 PM Chaitanya Kulkarni
<chaitanyak@xxxxxxxxxx> wrote:
On 4/27/23 00:39, Yi Zhang wrote:
oops, the kmemleak still exists:
hmmm, problem is I'm not able to reproduce
nvme_ctrl_dhchap_secret_store(), I could only get
cdev ad dev_pm_ops_xxxx. Let's see if following fixes
nvme_ctrl_dhchap_secret_store() case ? as I've added one
missing kfree() from earlier fix ..
Hi Chaitanya

The kmemleak in nvme_ctrl_dhchap_secret_store was fixed with the
change, feel free to add:

Tested-by: Yi Zhang <yi.zhang@xxxxxxxxxx>



I was able to fix remaining memleaks from for blktests
nvme/044-nvme/045 with nvme-loop and nvme-tcp transport. I've tested
following patch with blktests and memleak on, also specifically tested
two testcases in question, whenever you have time see if this fixes all
issues, below are the logs from my testing, here is the patch :-

linux-block (for-next) # git diff
diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
index 42e90d00fc40..245a832f4df5 100644
--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -5151,6 +5151,10 @@ int nvme_init_ctrl(struct nvme_ctrl *ctrl, struct
device *dev,

          BUILD_BUG_ON(NVME_DSM_MAX_RANGES * sizeof(struct nvme_dsm_range) >
                          PAGE_SIZE);
+       ret = nvme_auth_init_ctrl(ctrl);
+       if (ret)
+               return ret;
+
          ctrl->discard_page = alloc_page(GFP_KERNEL);
          if (!ctrl->discard_page) {
                  ret = -ENOMEM;
@@ -5195,13 +5199,8 @@ int nvme_init_ctrl(struct nvme_ctrl *ctrl, struct
device *dev,

          nvme_fault_inject_init(&ctrl->fault_inject,
dev_name(ctrl->device));
          nvme_mpath_init_ctrl(ctrl);
-       ret = nvme_auth_init_ctrl(ctrl);
-       if (ret)
-               goto out_free_cdev;

This does not seem to me like a fix, but a particular way to hide the
issue.



[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux