Skip to content

Commit 8fd0c1b

Browse files
pskrgagtorvalds
authored andcommitted
nilfs2: fix memory leak in nilfs_sysfs_delete_device_group
My local syzbot instance hit memory leak in nilfs2. The problem was in missing kobject_put() in nilfs_sysfs_delete_device_group(). kobject_del() does not call kobject_cleanup() for passed kobject and it leads to leaking duped kobject name if kobject_put() was not called. Fail log: BUG: memory leak unreferenced object 0xffff8880596171e0 (size 8): comm "syz-executor379", pid 8381, jiffies 4294980258 (age 21.100s) hex dump (first 8 bytes): 6c 6f 6f 70 30 00 00 00 loop0... backtrace: kstrdup+0x36/0x70 mm/util.c:60 kstrdup_const+0x53/0x80 mm/util.c:83 kvasprintf_const+0x108/0x190 lib/kasprintf.c:48 kobject_set_name_vargs+0x56/0x150 lib/kobject.c:289 kobject_add_varg lib/kobject.c:384 [inline] kobject_init_and_add+0xc9/0x160 lib/kobject.c:473 nilfs_sysfs_create_device_group+0x150/0x800 fs/nilfs2/sysfs.c:999 init_nilfs+0xe26/0x12b0 fs/nilfs2/the_nilfs.c:637 Link: https://lkml.kernel.org/r/[email protected] Fixes: da7141f ("nilfs2: add /sys/fs/nilfs2/<device> group") Signed-off-by: Pavel Skripkin <[email protected]> Acked-by: Ryusuke Konishi <[email protected]> Cc: Michael L. Semon <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
1 parent a7a69d8 commit 8fd0c1b

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

fs/nilfs2/sysfs.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1053,6 +1053,7 @@ void nilfs_sysfs_delete_device_group(struct the_nilfs *nilfs)
10531053
nilfs_sysfs_delete_superblock_group(nilfs);
10541054
nilfs_sysfs_delete_segctor_group(nilfs);
10551055
kobject_del(&nilfs->ns_dev_kobj);
1056+
kobject_put(&nilfs->ns_dev_kobj);
10561057
kfree(nilfs->ns_dev_subgroups);
10571058
}
10581059

0 commit comments

Comments
 (0)