Hello,
I've got the following WARNING while running syzkaller on
093b995e3b55a0ae0670226ddfcb05bfbf0099ae. Note the preceding injected
kmalloc failure, most likely it's the root cause.
FAULT_INJECTION: forcing a failure.
name failslab, interval 1, probability 0, space 0, times 0
CPU: 3 PID: 21172 Comm: syz-executor4 Not tainted 4.11.0-rc3+ #364
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011
Call Trace:
__dump_stack lib/dump_stack.c:16 [inline]
dump_stack+0x1b8/0x28d lib/dump_stack.c:52
fail_dump lib/fault-inject.c:45 [inline]
should_fail+0x78a/0x870 lib/fault-inject.c:154
should_failslab+0xec/0x120 mm/failslab.c:31
slab_pre_alloc_hook mm/slab.h:434 [inline]
slab_alloc mm/slab.c:3394 [inline]
kmem_cache_alloc+0x200/0x720 mm/slab.c:3570
kmem_cache_zalloc include/linux/slab.h:653 [inline]
__kernfs_new_node+0xd1/0x430 fs/kernfs/dir.c:629
kernfs_new_node+0x80/0xf0 fs/kernfs/dir.c:661
kernfs_create_dir_ns+0x41/0x140 fs/kernfs/dir.c:933
kernfs_create_dir include/linux/kernfs.h:477 [inline]
internal_create_group+0xf7/0x8f0 fs/sysfs/group.c:124
sysfs_create_group+0x1f/0x30 fs/sysfs/group.c:156
loop_sysfs_init drivers/block/loop.c:802 [inline]
loop_set_fd drivers/block/loop.c:940 [inline]
lo_ioctl+0xbbf/0x1670 drivers/block/loop.c:1341
__blkdev_driver_ioctl block/ioctl.c:297 [inline]
blkdev_ioctl+0xcf6/0x1f80 block/ioctl.c:594
block_ioctl+0xde/0x120 fs/block_dev.c:1978
vfs_ioctl fs/ioctl.c:45 [inline]
do_vfs_ioctl+0x1af/0x16d0 fs/ioctl.c:685
SYSC_ioctl fs/ioctl.c:700 [inline]
SyS_ioctl+0x8f/0xc0 fs/ioctl.c:691
entry_SYSCALL_64_fastpath+0x1f/0xc2
RIP: 0033:0x445b79
RSP: 002b:00007f8df2ef7858 EFLAGS: 00000286 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 0000000000708000 RCX: 0000000000445b79
RDX: 0000000000000006 RSI: 0000000000004c00 RDI: 0000000000000005
RBP: 0000000000000086 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000286 R12: 00000000004a7e31
R13: 0000000000000000 R14: 00007f8df2ef7618 R15: 00007f8df2ef7788
------------[ cut here ]------------
WARNING: CPU: 0 PID: 21188 at fs/sysfs/group.c:237
sysfs_remove_group+0x167/0x1c0 fs/sysfs/group.c:235
sysfs group 'loop' not found for kobject 'loop6'
Kernel panic - not syncing: panic_on_warn set ...
CPU: 0 PID: 21188 Comm: syz-executor4 Not tainted 4.11.0-rc3+ #364
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011
Call Trace:
__dump_stack lib/dump_stack.c:16 [inline]
dump_stack+0x1b8/0x28d lib/dump_stack.c:52
panic+0x20c/0x423 kernel/panic.c:180
__warn+0x1c4/0x1e0 kernel/panic.c:541
warn_slowpath_fmt+0xc1/0x100 kernel/panic.c:564
sysfs_remove_group+0x167/0x1c0 fs/sysfs/group.c:235
loop_sysfs_exit drivers/block/loop.c:808 [inline]
loop_clr_fd+0x46d/0xa90 drivers/block/loop.c:1055
lo_ioctl+0x1dc/0x1670 drivers/block/loop.c:1348
__blkdev_driver_ioctl block/ioctl.c:297 [inline]
blkdev_ioctl+0xcf6/0x1f80 block/ioctl.c:594
block_ioctl+0xde/0x120 fs/block_dev.c:1978
vfs_ioctl fs/ioctl.c:45 [inline]
do_vfs_ioctl+0x1af/0x16d0 fs/ioctl.c:685
SYSC_ioctl fs/ioctl.c:700 [inline]
SyS_ioctl+0x8f/0xc0 fs/ioctl.c:691
entry_SYSCALL_64_fastpath+0x1f/0xc2
RIP: 0033:0x445b79
RSP: 002b:00007f8df2ed6858 EFLAGS: 00000286 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00000000007080a8 RCX: 0000000000445b79
RDX: 0000000000000000 RSI: 0000000000004c01 RDI: 0000000000000005
RBP: 0000000000000086 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000286 R12: 0000000000000000
R13: 0000000000000000 R14: 00007f8df2ed79c0 R15: 00007f8df2ed7700
On Thu, Mar 23, 2017 at 03:09:44PM +0100, Dmitry Vyukov wrote:
> Hello,
>
> I've got the following WARNING while running syzkaller on
> 093b995e3b55a0ae0670226ddfcb05bfbf0099ae. Note the preceding injected
> kmalloc failure, most likely it's the root cause.
>
> FAULT_INJECTION: forcing a failure.
> name failslab, interval 1, probability 0, space 0, times 0
> CPU: 3 PID: 21172 Comm: syz-executor4 Not tainted 4.11.0-rc3+ #364
> Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011
> Call Trace:
> __dump_stack lib/dump_stack.c:16 [inline]
> dump_stack+0x1b8/0x28d lib/dump_stack.c:52
> fail_dump lib/fault-inject.c:45 [inline]
> should_fail+0x78a/0x870 lib/fault-inject.c:154
> should_failslab+0xec/0x120 mm/failslab.c:31
> slab_pre_alloc_hook mm/slab.h:434 [inline]
> slab_alloc mm/slab.c:3394 [inline]
> kmem_cache_alloc+0x200/0x720 mm/slab.c:3570
> kmem_cache_zalloc include/linux/slab.h:653 [inline]
> __kernfs_new_node+0xd1/0x430 fs/kernfs/dir.c:629
> kernfs_new_node+0x80/0xf0 fs/kernfs/dir.c:661
> kernfs_create_dir_ns+0x41/0x140 fs/kernfs/dir.c:933
> kernfs_create_dir include/linux/kernfs.h:477 [inline]
> internal_create_group+0xf7/0x8f0 fs/sysfs/group.c:124
> sysfs_create_group+0x1f/0x30 fs/sysfs/group.c:156
> loop_sysfs_init drivers/block/loop.c:802 [inline]
Looks we should have handled failure of loop_sys_init().
Thanks,
Ming