| From f31740fe3078fb27dc154459288052d8603431d8 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 7 Sep 2021 20:00:15 -0700 |
| Subject: nilfs2: fix memory leak in nilfs_sysfs_create_##name##_group |
| |
| From: Nanyong Sun <sunnanyong@huawei.com> |
| |
| [ Upstream commit 24f8cb1ed057c840728167dab33b32e44147c86f ] |
| |
| If kobject_init_and_add return with error, kobject_put() is needed here to |
| avoid memory leak, because kobject_init_and_add may return error without |
| freeing the memory associated with the kobject it allocated. |
| |
| Link: https://lkml.kernel.org/r/20210629022556.3985106-4-sunnanyong@huawei.com |
| Link: https://lkml.kernel.org/r/1625651306-10829-4-git-send-email-konishi.ryusuke@gmail.com |
| Signed-off-by: Nanyong Sun <sunnanyong@huawei.com> |
| Signed-off-by: Ryusuke Konishi <konishi.ryusuke@gmail.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| fs/nilfs2/sysfs.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| diff --git a/fs/nilfs2/sysfs.c b/fs/nilfs2/sysfs.c |
| index ec85ac53720d..6305e4ef7e39 100644 |
| --- a/fs/nilfs2/sysfs.c |
| +++ b/fs/nilfs2/sysfs.c |
| @@ -79,8 +79,8 @@ static int nilfs_sysfs_create_##name##_group(struct the_nilfs *nilfs) \ |
| err = kobject_init_and_add(kobj, &nilfs_##name##_ktype, parent, \ |
| #name); \ |
| if (err) \ |
| - return err; \ |
| - return 0; \ |
| + kobject_put(kobj); \ |
| + return err; \ |
| } \ |
| static void nilfs_sysfs_delete_##name##_group(struct the_nilfs *nilfs) \ |
| { \ |
| -- |
| 2.33.0 |
| |