Re: [lkp] [blk] ee5c4fef9f: BUG: unable to handle kernel NULL pointer dereference at 0000010b

From: Minfei Huang
Date: Fri Jul 29 2016 - 02:22:46 EST


Hi, Xiaolong.

I think itâs the correct behaviour for my patch to handle bio, and there is something
wrong with floppy driver. I will post a patch to fix this floppyâs bug soon.

Thanks
Minfei

> On Jul 29, 2016, at 10:21, kernel test robot <xiaolong.ye@xxxxxxxxx> wrote:
>
>
> FYI, we noticed the following commit:
>
> https://github.com/0day-ci/linux Minfei-Huang/blk-core-Fix-the-bad-IO-during-checking-bio/20160728-182758
> commit ee5c4fef9f2ef03ee8f283a5b24192df00e17f0f ("blk-core: Fix the bad IO during checking bio")
>
> in testcase: boot
>
> on test machine: 2 threads qemu-system-i386 -enable-kvm with 320M memory
>
> caused below changes:
>
>
> +------------------------------------------------+------------+------------+
> | | b013517951 | ee5c4fef9f |
> +------------------------------------------------+------------+------------+
> | boot_successes | 11 | 2 |
> | boot_failures | 1 | 10 |
> | BUG:kernel_test_crashed | 1 | |
> | BUG:unable_to_handle_kernel | 0 | 8 |
> | Oops | 0 | 8 |
> | EIP_is_at__lock_acquire | 0 | 8 |
> | Kernel_panic-not_syncing:Fatal_exception | 0 | 8 |
> | IP-Config:Auto-configuration_of_network_failed | 0 | 2 |
> +------------------------------------------------+------------+------------+
>
>
>
> [ 24.378591] attempt to access beyond end of device
> [ 24.378593] fd0: rw=0, want=8, limit=0
> [ 24.378594] floppy: error -5 while reading block 0
> [ 24.378600] BUG: unable to handle kernel NULL pointer dereference at 0000010b
> [ 24.378605] IP: [<7906d275>] __lock_acquire+0xa7/0x612
> [ 24.378606] *pde = 00000000
> [ 24.378608] Oops: 0002 [#1] SMP
> [ 24.378611] CPU: 1 PID: 574 Comm: mount Not tainted 4.7.0-rc2-00241-gee5c4fe #4
> [ 24.378612] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Debian-1.8.2-1 04/01/2014
> [ 24.378614] task: 87152c80 ti: 883f0000 task.ti: 883f0000
> [ 24.378615] EIP: 0060:[<7906d275>] EFLAGS: 00010002 CPU: 1
> [ 24.378617] EIP is at __lock_acquire+0xa7/0x612
> [ 24.378618] EAX: 00000007 EBX: 00000002 ECX: 00000000 EDX: 00000000
> [ 24.378619] ESI: 00000001 EDI: 87152c80 EBP: 883f1c2c ESP: 883f1c00
> [ 24.378620] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
> [ 24.378621] CR0: 80050033 CR2: 0000010b CR3: 0f8bd000 CR4: 00000690
> [ 24.378625] Stack:
> [ 24.378630] 00000000 7a267440 00000202 883f1c1c 00000000 ffffffff 883f1d74 883f1c2c
> [ 24.378634] 00000002 87152c80 883f1d74 883f1c64 7906da8d 00000000 00000001 00000001
> [ 24.378637] 00000000 79066107 00000000 00000000 00000000 00000000 883f1d64 00000202
> [ 24.378638] Call Trace:
> [ 24.378640] [<7906da8d>] lock_acquire+0x60/0x7c
> [ 24.378644] [<79066107>] ? complete+0x12/0x35
> [ 24.378648] [<79b9a42a>] _raw_spin_lock_irqsave+0x34/0x44
> [ 24.378650] [<79066107>] ? complete+0x12/0x35
> [ 24.378651] [<79066107>] complete+0x12/0x35
> [ 24.378654] [<79467b9a>] floppy_rb0_cb+0x31/0x38
> [ 24.378656] [<7932d102>] bio_endio+0x39/0x51
> [ 24.378659] [<7932ec47>] generic_make_request_checks+0x13a/0x144
> [ 24.378661] [<793300ae>] generic_make_request+0x11/0x12a
> [ 24.378663] [<79330293>] submit_bio+0xcc/0xd3
> [ 24.378665] [<79468347>] __floppy_read_block_0+0xbc/0xfe
> [ 24.378668] [<7906bfa3>] ? mark_held_locks+0x4b/0x65
> [ 24.378671] [<79b9a5de>] ? _raw_spin_unlock_irqrestore+0x39/0x4b
> [ 24.378672] [<79467b69>] ? floppy_find+0x3b/0x3b
> [ 24.378674] [<79468955>] floppy_revalidate+0x104/0x171
> [ 24.378678] [<79117276>] check_disk_change+0x41/0x4e
> [ 24.378680] [<79467e9a>] floppy_open+0x20c/0x28d
> [ 24.378682] [<7911697b>] __blkdev_get+0xf9/0x34f
> [ 24.378684] [<79116d39>] blkdev_get+0x168/0x25c
> [ 24.378689] [<790f8206>] ? path_put+0x15/0x18
> [ 24.378691] [<79117061>] ? lookup_bdev+0x62/0x72
> [ 24.378693] [<79117094>] blkdev_get_by_path+0x23/0x53
> [ 24.378696] [<790f2820>] mount_bdev+0x2a/0x157
> [ 24.378700] [<7917748a>] ext4_mount+0x10/0x12
> [ 24.378702] [<7917af40>] ? ext4_calculate_overhead+0x30e/0x30e
> [ 24.378704] [<790f2ad3>] mount_fs+0x53/0x110
> [ 24.378708] [<79107ab4>] vfs_kern_mount+0x47/0xaa
> [ 24.378710] [<79108d9b>] do_mount+0x7a6/0x8a6
> [ 24.378714] [<790c35c2>] ? strndup_user+0x27/0x3f
> [ 24.378717] [<79109040>] SyS_mount+0x52/0x76
> [ 24.378720] [<79000f2e>] do_int80_syscall_32+0x48/0x5a
> [ 24.378722] [<79b9ab2c>] entry_INT80_32+0x2c/0x2c
> [ 24.378747] Code: 80 08 48 7a 74 03 8b 75 0c 83 fa 01 77 0b 8b 45 ec 8b 44 90 04 85 c0 75 12 31 c9 8b 45 ec e8 8f cc ff ff 85 c0 0f 84 f2 04 00 00 <f0> ff 80 04 01 00 00 8b 9f 58 04 00 00 89 5d e4 83 3d 08 8a bc
> [ 24.378750] EIP: [<7906d275>] __lock_acquire+0xa7/0x612 SS:ESP 0068:883f1c00
> [ 24.378750] CR2: 000000000000010b
> [ 24.378752] ---[ end trace beb8a2f440b7388d ]---
> [ 24.378753] Kernel panic - not syncing: Fatal exception
>
>
> FYI, raw QEMU command line is:
>
> qemu-system-i386 -enable-kvm -kernel /pkg/linux/i386-randconfig-s1-201630/gcc-6/ee5c4fef9f2ef03ee8f283a5b24192df00e17f0f/vmlinuz-4.7.0-rc2-00241-gee5c4fe -append 'ip=::::vm-kbuild-yocto-i386-10::dhcp root=/dev/ram0 user=lkp job=/lkp/scheduled/vm-kbuild-yocto-i386-10/boot-1-yocto-minimal-i386.cgz-ee5c4fef9f2ef03ee8f283a5b24192df00e17f0f-20160728-20894-1h3orba-0.yaml ARCH=i386 kconfig=i386-randconfig-s1-201630 branch=linux-devel/devel-catchup-201607281838 commit=ee5c4fef9f2ef03ee8f283a5b24192df00e17f0f BOOT_IMAGE=/pkg/linux/i386-randconfig-s1-201630/gcc-6/ee5c4fef9f2ef03ee8f283a5b24192df00e17f0f/vmlinuz-4.7.0-rc2-00241-gee5c4fe max_uptime=600 RESULT_ROOT=/result/boot/1/vm-kbuild-yocto-i386/yocto-minimal-i386.cgz/i386-randconfig-s1-201630/gcc-6/ee5c4fef9f2ef03ee8f283a5b24192df00e17f0f/0 LKP_SERVER=inn debug apic=debug sysrq_always_enabled rcupdate.rcu_cpu_stall_timeout=100 panic=-1 softlockup_panic=1 nmi_watchdog=panic oops=panic load_ramdisk=2 prompt_ramdisk=0 systemd.log_level=err ignore_loglevel earlyprintk=ttyS0,115200 console=ttyS0,115200 console=tty0 vga=normal rw drbd.minor_count=8' -initrd /fs/sda1/initrd-vm-kbuild-yocto-i386-10 -m 320 -smp 2 -device e1000,netdev=net0 -netdev user,id=net0 -boot order=nc -no-reboot -watchdog i6300esb -watchdog-action debug -rtc base=localtime -drive file=/fs/sda1/disk0-vm-kbuild-yocto-i386-10,media=disk,if=virtio -pidfile /dev/shm/kboot/pid-vm-kbuild-yocto-i386-10 -serial file:/dev/shm/kboot/serial-vm-kbuild-yocto-i386-10 -daemonize -display none -monitor null
>
>
>
>
>
> Thanks,
> Xiaolong
> <config-4.7.0-rc2-00241-gee5c4fe><dmesg.xz>