Alexander Aring
f8c7e8e572
fs: dlm: fix memory leak when fenced
[ Upstream commit 700ab1c363c7b54c9ea3222379b33fc00ab02f7b ]
I got some kmemleak report when a node was fenced. The user space tool
dlm_controld will therefore run some rmdir() in dlm configfs which was
triggering some memleaks. This patch stores the sps and cms attributes
which stores some handling for subdirectories of the configfs cluster
entry and free them if they get released as the parent directory gets
freed.
unreferenced object 0xffff88810d9e3e00 (size 192):
comm "dlm_controld", pid 342, jiffies 4294698126 (age 55438.801s)
hex dump (first 32 bytes):
00 00 00 00 00 00 00 00 73 70 61 63 65 73 00 00 ........spaces..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace:
[<00000000db8b640b>] make_cluster+0x5d/0x360
[<000000006a571db4>] configfs_mkdir+0x274/0x730
[<00000000b094501c>] vfs_mkdir+0x27e/0x340
[<0000000058b0adaf>] do_mkdirat+0xff/0x1b0
[<00000000d1ffd156>] do_syscall_64+0x40/0x80
[<00000000ab1408c8>] entry_SYSCALL_64_after_hwframe+0x44/0xae
unreferenced object 0xffff88810d9e3a00 (size 192):
comm "dlm_controld", pid 342, jiffies 4294698126 (age 55438.801s)
hex dump (first 32 bytes):
00 00 00 00 00 00 00 00 63 6f 6d 6d 73 00 00 00 ........comms...
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace:
[<00000000a7ef6ad2>] make_cluster+0x82/0x360
[<000000006a571db4>] configfs_mkdir+0x274/0x730
[<00000000b094501c>] vfs_mkdir+0x27e/0x340
[<0000000058b0adaf>] do_mkdirat+0xff/0x1b0
[<00000000d1ffd156>] do_syscall_64+0x40/0x80
[<00000000ab1408c8>] entry_SYSCALL_64_after_hwframe+0x44/0xae
Signed-off-by: Alexander Aring <aahringo@redhat.com>
Signed-off-by: David Teigland <teigland@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
|
2021-07-14 16:53:17 +02:00 |
| .. |
|
ast.c
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193
|
2019-05-30 11:29:21 -07:00 |
|
ast.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193
|
2019-05-30 11:29:21 -07:00 |
|
config.c
|
fs: dlm: fix memory leak when fenced
|
2021-07-14 16:53:17 +02:00 |
|
config.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193
|
2019-05-30 11:29:21 -07:00 |
|
debug_fs.c
|
fs: dlm: fix debugfs dump
|
2021-05-19 10:08:20 +02:00 |
|
dir.c
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193
|
2019-05-30 11:29:21 -07:00 |
|
dir.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193
|
2019-05-30 11:29:21 -07:00 |
|
dlm_internal.h
|
dlm: remove BUG() before panic()
|
2020-06-24 17:50:26 +02:00 |
|
Kconfig
|
|
|
|
lock.c
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193
|
2019-05-30 11:29:21 -07:00 |
|
lock.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193
|
2019-05-30 11:29:21 -07:00 |
|
lockspace.c
|
dlm: Fix kobject memleak
|
2020-08-19 08:16:21 +02:00 |
|
lockspace.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193
|
2019-05-30 11:29:21 -07:00 |
|
lowcomms.c
|
fs: dlm: cancel work sync othercon
|
2021-07-14 16:53:17 +02:00 |
|
lowcomms.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193
|
2019-05-30 11:29:21 -07:00 |
|
lvb_table.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193
|
2019-05-30 11:29:21 -07:00 |
|
main.c
|
dlm: no need to check return value of debugfs_create functions
|
2019-07-11 11:01:58 -05:00 |
|
Makefile
|
|
|
|
member.c
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193
|
2019-05-30 11:29:21 -07:00 |
|
member.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193
|
2019-05-30 11:29:21 -07:00 |
|
memory.c
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193
|
2019-05-30 11:29:21 -07:00 |
|
memory.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193
|
2019-05-30 11:29:21 -07:00 |
|
midcomms.c
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193
|
2019-05-30 11:29:21 -07:00 |
|
midcomms.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193
|
2019-05-30 11:29:21 -07:00 |
|
netlink.c
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193
|
2019-05-30 11:29:21 -07:00 |
|
plock.c
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 398
|
2019-06-05 17:37:12 +02:00 |
|
rcom.c
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193
|
2019-05-30 11:29:21 -07:00 |
|
rcom.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193
|
2019-05-30 11:29:21 -07:00 |
|
recover.c
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193
|
2019-05-30 11:29:21 -07:00 |
|
recover.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193
|
2019-05-30 11:29:21 -07:00 |
|
recoverd.c
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193
|
2019-05-30 11:29:21 -07:00 |
|
recoverd.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193
|
2019-05-30 11:29:21 -07:00 |
|
requestqueue.c
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193
|
2019-05-30 11:29:21 -07:00 |
|
requestqueue.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193
|
2019-05-30 11:29:21 -07:00 |
|
user.c
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193
|
2019-05-30 11:29:21 -07:00 |
|
user.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193
|
2019-05-30 11:29:21 -07:00 |
|
util.c
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193
|
2019-05-30 11:29:21 -07:00 |
|
util.h
|
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193
|
2019-05-30 11:29:21 -07:00 |