projects
/
platform
/
kernel
/
linux-starfive.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
bf3c2ca
)
nvme-core: fix dev_pm_qos memleak
author
Chaitanya Kulkarni
<kch@nvidia.com>
Fri, 28 Apr 2023 07:31:15 +0000
(
00:31
-0700)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Wed, 19 Jul 2023 14:20:57 +0000
(16:20 +0200)
[ Upstream commit
7ed5cf8e6d9bfb6a78d0471317edff14f0f2b4dd
]
Call dev_pm_qos_hide_latency_tolerance() in the error unwind patch to
avoid following kmemleak:-
blktests (master) # kmemleak-clear; ./check nvme/044;
blktests (master) # kmemleak-scan ; kmemleak-show
nvme/044 (Test bi-directional authentication) [passed]
runtime 2.111s ... 2.124s
unreferenced object 0xffff888110c46240 (size 96):
comm "nvme", pid 33461, jiffies
4345365353
(age 75.586s)
hex dump (first 32 bytes):
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace:
[<
0000000069ac2cec
>] kmalloc_trace+0x25/0x90
[<
000000006acc66d5
>] dev_pm_qos_update_user_latency_tolerance+0x6f/0x100
[<
00000000cc376ea7
>] nvme_init_ctrl+0x38e/0x410 [nvme_core]
[<
000000007df61b4b
>] 0xffffffffc05e88b3
[<
00000000d152b985
>] 0xffffffffc05744cb
[<
00000000f04a4041
>] vfs_write+0xc5/0x3c0
[<
00000000f9491baf
>] ksys_write+0x5f/0xe0
[<
000000001c46513d
>] do_syscall_64+0x3b/0x90
[<
00000000ecf348fe
>] entry_SYSCALL_64_after_hwframe+0x72/0xdc
Link:
https://lore.kernel.org/linux-nvme/CAHj4cs-nDaKzMx2txO4dbE+Mz9ePwLtU0e3egz+StmzOUgWUrA@mail.gmail.com/
Fixes:
f50fff73d620
("nvme: implement In-Band authentication")
Signed-off-by: Chaitanya Kulkarni <kch@nvidia.com>
Tested-by: Yi Zhang <yi.zhang@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/nvme/host/core.c
patch
|
blob
|
history
diff --git
a/drivers/nvme/host/core.c
b/drivers/nvme/host/core.c
index
8414e1a
..
560ce2f
100644
(file)
--- a/
drivers/nvme/host/core.c
+++ b/
drivers/nvme/host/core.c
@@
-5178,6
+5178,7
@@
int nvme_init_ctrl(struct nvme_ctrl *ctrl, struct device *dev,
return 0;
out_free_cdev:
nvme_fault_inject_fini(&ctrl->fault_inject);
+ dev_pm_qos_hide_latency_tolerance(ctrl->device);
cdev_device_del(&ctrl->cdev, ctrl->device);
out_free_name:
nvme_put_ctrl(ctrl);