syzbot
memory leak in kvm_dev_ioctl
Status:
fixed on 2021/11/10 00:50
Subsystems:
kvm
[Documentation on labels]
Reported-by: syzbot+c87d2efb740931ec76c7@syzkaller.appspotmail.com
Fix commit:
004d62eb4e57
kvm: debugfs: fix memory leak in kvm_create_vm_debugfs
First crash: 1853d, last: 1837d
Sample crash report:
executing program
BUG: memory leak
unreferenced object 0xffff888101a59a00 (size 32):
comm "syz-executor334", pid 8441, jiffies 4294943490 (age 12.710s)
hex dump (first 32 bytes):
00 90 fc 00 00 c9 ff ff 80 ee 80 84 ff ff ff ff ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace:
[<ffffffff81043510>] kmalloc include/linux/slab.h:591 [inline]
[<ffffffff81043510>] kzalloc include/linux/slab.h:721 [inline]
[<ffffffff81043510>] kvm_create_vm_debugfs arch/x86/kvm/../../../virt/kvm/kvm_main.c:916 [inline]
[<ffffffff81043510>] kvm_dev_ioctl_create_vm arch/x86/kvm/../../../virt/kvm/kvm_main.c:4471 [inline]
[<ffffffff81043510>] kvm_dev_ioctl+0x710/0xb60 arch/x86/kvm/../../../virt/kvm/kvm_main.c:4498
[<ffffffff8158c8ec>] vfs_ioctl fs/ioctl.c:51 [inline]
[<ffffffff8158c8ec>] __do_sys_ioctl fs/ioctl.c:1069 [inline]
[<ffffffff8158c8ec>] __se_sys_ioctl fs/ioctl.c:1055 [inline]
[<ffffffff8158c8ec>] __x64_sys_ioctl+0xfc/0x140 fs/ioctl.c:1055
[<ffffffff843af915>] do_syscall_x64 arch/x86/entry/common.c:50 [inline]
[<ffffffff843af915>] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
[<ffffffff84400068>] entry_SYSCALL_64_after_hwframe+0x44/0xae
BUG: memory leak
unreferenced object 0xffff888101a592c0 (size 32):
comm "syz-executor334", pid 8441, jiffies 4294943490 (age 12.710s)
hex dump (first 32 bytes):
00 90 fc 00 00 c9 ff ff c0 ee 80 84 ff ff ff ff ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace:
[<ffffffff81043510>] kmalloc include/linux/slab.h:591 [inline]
[<ffffffff81043510>] kzalloc include/linux/slab.h:721 [inline]
[<ffffffff81043510>] kvm_create_vm_debugfs arch/x86/kvm/../../../virt/kvm/kvm_main.c:916 [inline]
[<ffffffff81043510>] kvm_dev_ioctl_create_vm arch/x86/kvm/../../../virt/kvm/kvm_main.c:4471 [inline]
[<ffffffff81043510>] kvm_dev_ioctl+0x710/0xb60 arch/x86/kvm/../../../virt/kvm/kvm_main.c:4498
[<ffffffff8158c8ec>] vfs_ioctl fs/ioctl.c:51 [inline]
[<ffffffff8158c8ec>] __do_sys_ioctl fs/ioctl.c:1069 [inline]
[<ffffffff8158c8ec>] __se_sys_ioctl fs/ioctl.c:1055 [inline]
[<ffffffff8158c8ec>] __x64_sys_ioctl+0xfc/0x140 fs/ioctl.c:1055
[<ffffffff843af915>] do_syscall_x64 arch/x86/entry/common.c:50 [inline]
[<ffffffff843af915>] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
[<ffffffff84400068>] entry_SYSCALL_64_after_hwframe+0x44/0xae
BUG: memory leak
unreferenced object 0xffff888101a59d40 (size 32):
comm "syz-executor334", pid 8441, jiffies 4294943490 (age 12.710s)
hex dump (first 32 bytes):
00 90 fc 00 00 c9 ff ff 00 ef 80 84 ff ff ff ff ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace:
[<ffffffff81043510>] kmalloc include/linux/slab.h:591 [inline]
[<ffffffff81043510>] kzalloc include/linux/slab.h:721 [inline]
[<ffffffff81043510>] kvm_create_vm_debugfs arch/x86/kvm/../../../virt/kvm/kvm_main.c:916 [inline]
[<ffffffff81043510>] kvm_dev_ioctl_create_vm arch/x86/kvm/../../../virt/kvm/kvm_main.c:4471 [inline]
[<ffffffff81043510>] kvm_dev_ioctl+0x710/0xb60 arch/x86/kvm/../../../virt/kvm/kvm_main.c:4498
[<ffffffff8158c8ec>] vfs_ioctl fs/ioctl.c:51 [inline]
[<ffffffff8158c8ec>] __do_sys_ioctl fs/ioctl.c:1069 [inline]
[<ffffffff8158c8ec>] __se_sys_ioctl fs/ioctl.c:1055 [inline]
[<ffffffff8158c8ec>] __x64_sys_ioctl+0xfc/0x140 fs/ioctl.c:1055
[<ffffffff843af915>] do_syscall_x64 arch/x86/entry/common.c:50 [inline]
[<ffffffff843af915>] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
[<ffffffff84400068>] entry_SYSCALL_64_after_hwframe+0x44/0xae
BUG: memory leak
unreferenced object 0xffff888101a59dc0 (size 32):
comm "syz-executor334", pid 8441, jiffies 4294943490 (age 12.710s)
hex dump (first 32 bytes):
00 90 fc 00 00 c9 ff ff 40 ef 80 84 ff ff ff ff ........@.......
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace:
[<ffffffff81043510>] kmalloc include/linux/slab.h:591 [inline]
[<ffffffff81043510>] kzalloc include/linux/slab.h:721 [inline]
[<ffffffff81043510>] kvm_create_vm_debugfs arch/x86/kvm/../../../virt/kvm/kvm_main.c:916 [inline]
[<ffffffff81043510>] kvm_dev_ioctl_create_vm arch/x86/kvm/../../../virt/kvm/kvm_main.c:4471 [inline]
[<ffffffff81043510>] kvm_dev_ioctl+0x710/0xb60 arch/x86/kvm/../../../virt/kvm/kvm_main.c:4498
[<ffffffff8158c8ec>] vfs_ioctl fs/ioctl.c:51 [inline]
[<ffffffff8158c8ec>] __do_sys_ioctl fs/ioctl.c:1069 [inline]
[<ffffffff8158c8ec>] __se_sys_ioctl fs/ioctl.c:1055 [inline]
[<ffffffff8158c8ec>] __x64_sys_ioctl+0xfc/0x140 fs/ioctl.c:1055
[<ffffffff843af915>] do_syscall_x64 arch/x86/entry/common.c:50 [inline]
[<ffffffff843af915>] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
[<ffffffff84400068>] entry_SYSCALL_64_after_hwframe+0x44/0xae
BUG: memory leak
unreferenced object 0xffff888101a59ec0 (size 32):
comm "syz-executor334", pid 8441, jiffies 4294943490 (age 12.710s)
hex dump (first 32 bytes):
00 90 fc 00 00 c9 ff ff 80 ef 80 84 ff ff ff ff ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace:
[<ffffffff81043510>] kmalloc include/linux/slab.h:591 [inline]
[<ffffffff81043510>] kzalloc include/linux/slab.h:721 [inline]
[<ffffffff81043510>] kvm_create_vm_debugfs arch/x86/kvm/../../../virt/kvm/kvm_main.c:916 [inline]
[<ffffffff81043510>] kvm_dev_ioctl_create_vm arch/x86/kvm/../../../virt/kvm/kvm_main.c:4471 [inline]
[<ffffffff81043510>] kvm_dev_ioctl+0x710/0xb60 arch/x86/kvm/../../../virt/kvm/kvm_main.c:4498
[<ffffffff8158c8ec>] vfs_ioctl fs/ioctl.c:51 [inline]
[<ffffffff8158c8ec>] __do_sys_ioctl fs/ioctl.c:1069 [inline]
[<ffffffff8158c8ec>] __se_sys_ioctl fs/ioctl.c:1055 [inline]
[<ffffffff8158c8ec>] __x64_sys_ioctl+0xfc/0x140 fs/ioctl.c:1055
[<ffffffff843af915>] do_syscall_x64 arch/x86/entry/common.c:50 [inline]
[<ffffffff843af915>] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
[<ffffffff84400068>] entry_SYSCALL_64_after_hwframe+0x44/0xae
BUG: memory leak
unreferenced object 0xffff888101a59240 (size 32):
comm "syz-executor334", pid 8441, jiffies 4294943490 (age 12.710s)
hex dump (first 32 bytes):
00 90 fc 00 00 c9 ff ff c0 ef 80 84 ff ff ff ff ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace:
[<ffffffff81043510>] kmalloc include/linux/slab.h:591 [inline]
[<ffffffff81043510>] kzalloc include/linux/slab.h:721 [inline]
[<ffffffff81043510>] kvm_create_vm_debugfs arch/x86/kvm/../../../virt/kvm/kvm_main.c:916 [inline]
[<ffffffff81043510>] kvm_dev_ioctl_create_vm arch/x86/kvm/../../../virt/kvm/kvm_main.c:4471 [inline]
[<ffffffff81043510>] kvm_dev_ioctl+0x710/0xb60 arch/x86/kvm/../../../virt/kvm/kvm_main.c:4498
[<ffffffff8158c8ec>] vfs_ioctl fs/ioctl.c:51 [inline]
[<ffffffff8158c8ec>] __do_sys_ioctl fs/ioctl.c:1069 [inline]
[<ffffffff8158c8ec>] __se_sys_ioctl fs/ioctl.c:1055 [inline]
[<ffffffff8158c8ec>] __x64_sys_ioctl+0xfc/0x140 fs/ioctl.c:1055
[<ffffffff843af915>] do_syscall_x64 arch/x86/entry/common.c:50 [inline]
[<ffffffff843af915>] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
[<ffffffff84400068>] entry_SYSCALL_64_after_hwframe+0x44/0xae
BUG: memory leak
unreferenced object 0xffff888101a59b40 (size 32):
comm "syz-executor334", pid 8441, jiffies 4294943490 (age 12.710s)
hex dump (first 32 bytes):
00 90 fc 00 00 c9 ff ff 00 f0 80 84 ff ff ff ff ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace:
[<ffffffff81043510>] kmalloc include/linux/slab.h:591 [inline]
[<ffffffff81043510>] kzalloc include/linux/slab.h:721 [inline]
[<ffffffff81043510>] kvm_create_vm_debugfs arch/x86/kvm/../../../virt/kvm/kvm_main.c:916 [inline]
[<ffffffff81043510>] kvm_dev_ioctl_create_vm arch/x86/kvm/../../../virt/kvm/kvm_main.c:4471 [inline]
[<ffffffff81043510>] kvm_dev_ioctl+0x710/0xb60 arch/x86/kvm/../../../virt/kvm/kvm_main.c:4498
[<ffffffff8158c8ec>] vfs_ioctl fs/ioctl.c:51 [inline]
[<ffffffff8158c8ec>] __do_sys_ioctl fs/ioctl.c:1069 [inline]
[<ffffffff8158c8ec>] __se_sys_ioctl fs/ioctl.c:1055 [inline]
[<ffffffff8158c8ec>] __x64_sys_ioctl+0xfc/0x140 fs/ioctl.c:1055
[<ffffffff843af915>] do_syscall_x64 arch/x86/entry/common.c:50 [inline]
[<ffffffff843af915>] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
[<ffffffff84400068>] entry_SYSCALL_64_after_hwframe+0x44/0xae
* Struck through repros no longer work on HEAD.