[syzbot] [gfs2?] memory leak in gfs2_quota_init

From: syzbot
Date: Wed Jul 05 2023 - 22:18:11 EST


Hello,

syzbot found the following issue on:

HEAD commit: f8566aa4f176 Merge tag 'x86-urgent-2023-07-01' of git://gi..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=10443370a80000
kernel config: https://syzkaller.appspot.com/x/.config?x=87bd445ea3f7a661
dashboard link: https://syzkaller.appspot.com/bug?extid=4ee56df41d0cc0f0783a
compiler: gcc (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=172d3d14a80000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=143b6648a80000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/9c2c2ab2bd05/disk-f8566aa4.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/0af022babece/vmlinux-f8566aa4.xz
kernel image: https://storage.googleapis.com/syzbot-assets/e335287813f6/bzImage-f8566aa4.xz
mounted in repro: https://storage.googleapis.com/syzbot-assets/2f0686bcdcb4/mount_0.gz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+4ee56df41d0cc0f0783a@xxxxxxxxxxxxxxxxxxxxxxxxx

BUG: memory leak
unreferenced object 0xffff88810aa24000 (size 8192):
comm "syz-executor334", pid 5004, jiffies 4294954804 (age 12.830s)
hex dump (first 32 bytes):
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace:
[<ffffffff8154c55a>] __do_kmalloc_node mm/slab_common.c:984 [inline]
[<ffffffff8154c55a>] __kmalloc+0x4a/0x120 mm/slab_common.c:998
[<ffffffff821964d9>] kmalloc include/linux/slab.h:583 [inline]
[<ffffffff821964d9>] kzalloc include/linux/slab.h:700 [inline]
[<ffffffff821964d9>] gfs2_quota_init+0xd9/0x770 fs/gfs2/quota.c:1373
[<ffffffff821a1aef>] gfs2_make_fs_rw+0x11f/0x200 fs/gfs2/super.c:155
[<ffffffff8218a1cf>] gfs2_reconfigure+0x3cf/0x530 fs/gfs2/ops_fstype.c:1602
[<ffffffff81665d5c>] reconfigure_super+0x14c/0x3e0 fs/super.c:961
[<ffffffff816cd5cb>] vfs_fsconfig_locked fs/fsopen.c:254 [inline]
[<ffffffff816cd5cb>] __do_sys_fsconfig+0x80b/0x8d0 fs/fsopen.c:439
[<ffffffff84a6bff9>] do_syscall_x64 arch/x86/entry/common.c:50 [inline]
[<ffffffff84a6bff9>] do_syscall_64+0x39/0xb0 arch/x86/entry/common.c:80
[<ffffffff84c0008b>] entry_SYSCALL_64_after_hwframe+0x63/0xcd

BUG: memory leak
unreferenced object 0xffff88810f360000 (size 8192):
comm "syz-executor334", pid 5007, jiffies 4294955349 (age 7.380s)
hex dump (first 32 bytes):
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace:
[<ffffffff8154c55a>] __do_kmalloc_node mm/slab_common.c:984 [inline]
[<ffffffff8154c55a>] __kmalloc+0x4a/0x120 mm/slab_common.c:998
[<ffffffff821964d9>] kmalloc include/linux/slab.h:583 [inline]
[<ffffffff821964d9>] kzalloc include/linux/slab.h:700 [inline]
[<ffffffff821964d9>] gfs2_quota_init+0xd9/0x770 fs/gfs2/quota.c:1373
[<ffffffff821a1aef>] gfs2_make_fs_rw+0x11f/0x200 fs/gfs2/super.c:155
[<ffffffff8218a1cf>] gfs2_reconfigure+0x3cf/0x530 fs/gfs2/ops_fstype.c:1602
[<ffffffff81665d5c>] reconfigure_super+0x14c/0x3e0 fs/super.c:961
[<ffffffff816cd5cb>] vfs_fsconfig_locked fs/fsopen.c:254 [inline]
[<ffffffff816cd5cb>] __do_sys_fsconfig+0x80b/0x8d0 fs/fsopen.c:439
[<ffffffff84a6bff9>] do_syscall_x64 arch/x86/entry/common.c:50 [inline]
[<ffffffff84a6bff9>] do_syscall_64+0x39/0xb0 arch/x86/entry/common.c:80
[<ffffffff84c0008b>] entry_SYSCALL_64_after_hwframe+0x63/0xcd



---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@xxxxxxxxxxxxxxxx.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the bug is already fixed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.

If you want to change bug's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the bug is a duplicate of another bug, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup