diff mbox series

ext4: fix leaking sysfs kobject after failed mount

Message ID 20200922162456.93657-1-ebiggers@kernel.org
State New
Headers show
Series ext4: fix leaking sysfs kobject after failed mount | expand

Commit Message

Eric Biggers Sept. 22, 2020, 4:24 p.m. UTC
From: Eric Biggers <ebiggers@google.com>

ext4_unregister_sysfs() only deletes the kobject.  The reference to it
needs to be put separately, like ext4_put_super() does.

This addresses the syzbot report
"memory leak in kobject_set_name_vargs (3)"
(https://syzkaller.appspot.com/bug?extid=9f864abad79fae7c17e1).

Reported-by: syzbot+9f864abad79fae7c17e1@syzkaller.appspotmail.com
Fixes: 72ba74508b28 ("ext4: release sysfs kobject when failing to enable quotas on mount")
Cc: stable@vger.kernel.org
Signed-off-by: Eric Biggers <ebiggers@google.com>
---
 fs/ext4/super.c | 1 +
 1 file changed, 1 insertion(+)


base-commit: ba4f184e126b751d1bffad5897f263108befc780

Comments

Jan Kara Sept. 24, 2020, 9:08 a.m. UTC | #1
On Tue 22-09-20 09:24:56, Eric Biggers wrote:
> From: Eric Biggers <ebiggers@google.com>

> 

> ext4_unregister_sysfs() only deletes the kobject.  The reference to it

> needs to be put separately, like ext4_put_super() does.

> 

> This addresses the syzbot report

> "memory leak in kobject_set_name_vargs (3)"

> (https://syzkaller.appspot.com/bug?extid=9f864abad79fae7c17e1).

> 

> Reported-by: syzbot+9f864abad79fae7c17e1@syzkaller.appspotmail.com

> Fixes: 72ba74508b28 ("ext4: release sysfs kobject when failing to enable quotas on mount")

> Cc: stable@vger.kernel.org

> Signed-off-by: Eric Biggers <ebiggers@google.com>


Looks good. You can add:

Reviewed-by: Jan Kara <jack@suse.cz>


								Honza

> ---

>  fs/ext4/super.c | 1 +

>  1 file changed, 1 insertion(+)

> 

> diff --git a/fs/ext4/super.c b/fs/ext4/super.c

> index ea425b49b345..41953b86ffe3 100644

> --- a/fs/ext4/super.c

> +++ b/fs/ext4/super.c

> @@ -4872,6 +4872,7 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent)

>  

>  failed_mount8:

>  	ext4_unregister_sysfs(sb);

> +	kobject_put(&sbi->s_kobj);

>  failed_mount7:

>  	ext4_unregister_li_request(sb);

>  failed_mount6:

> 

> base-commit: ba4f184e126b751d1bffad5897f263108befc780

> -- 

> 2.28.0

> 

-- 
Jan Kara <jack@suse.com>
SUSE Labs, CR
Theodore Ts'o Oct. 3, 2020, 4:56 a.m. UTC | #2
On Thu, Sep 24, 2020 at 11:08:59AM +0200, Jan Kara wrote:
> On Tue 22-09-20 09:24:56, Eric Biggers wrote:

> > From: Eric Biggers <ebiggers@google.com>

> > 

> > ext4_unregister_sysfs() only deletes the kobject.  The reference to it

> > needs to be put separately, like ext4_put_super() does.

> > 

> > This addresses the syzbot report

> > "memory leak in kobject_set_name_vargs (3)"

> > (https://syzkaller.appspot.com/bug?extid=9f864abad79fae7c17e1).

> > 

> > Reported-by: syzbot+9f864abad79fae7c17e1@syzkaller.appspotmail.com

> > Fixes: 72ba74508b28 ("ext4: release sysfs kobject when failing to enable quotas on mount")

> > Cc: stable@vger.kernel.org

> > Signed-off-by: Eric Biggers <ebiggers@google.com>

> 

> Looks good. You can add:

> 

> Reviewed-by: Jan Kara <jack@suse.cz>


Thanks, applied.

					- Ted
diff mbox series

Patch

diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index ea425b49b345..41953b86ffe3 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -4872,6 +4872,7 @@  static int ext4_fill_super(struct super_block *sb, void *data, int silent)
 
 failed_mount8:
 	ext4_unregister_sysfs(sb);
+	kobject_put(&sbi->s_kobj);
 failed_mount7:
 	ext4_unregister_li_request(sb);
 failed_mount6: