]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
ext4: fix leaking sysfs kobject after failed mount
authorEric Biggers <ebiggers@google.com>
Tue, 22 Sep 2020 16:24:56 +0000 (09:24 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Nov 2020 10:07:04 +0000 (11:07 +0100)
commit cb8d53d2c97369029cc638c9274ac7be0a316c75 upstream.

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>
Link: https://lore.kernel.org/r/20200922162456.93657-1-ebiggers@kernel.org
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/ext4/super.c

index d941b0cee5f8e6d33b8ffe56285049a0701f8ecc..ec96466f290904c601f7e646a76fb59063d87e7e 100644 (file)
@@ -4505,6 +4505,7 @@ cantfind_ext4:
 
 failed_mount8:
        ext4_unregister_sysfs(sb);
+       kobject_put(&sbi->s_kobj);
 failed_mount7:
        ext4_unregister_li_request(sb);
 failed_mount6: