lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20150714051831.GA19723@wfg-t540p.sh.intel.com>
Date:	Tue, 14 Jul 2015 13:18:31 +0800
From:	Fengguang Wu <fengguang.wu@...el.com>
To:	Tomeu Vizoso <tomeu.vizoso@...labora.com>
Cc:	fengguang.wu@...el.com, LKP <lkp@...org>,
	LKML <linux-kernel@...r.kernel.org>
Subject: [driver-core] BUG: unable to handle kernel NULL pointer dereference
 at           (null)

Greetings,

0day kernel testing robot got the below dmesg and the first bad commit is

git://git.collabora.co.uk/git/user/tomeu/linux.git ordered-probing-v3

commit 240d94dae48c0e526898bb54639622ca897323c9
Author:     Tomeu Vizoso <tomeu.vizoso@...labora.com>
AuthorDate: Tue Jun 30 17:21:49 2015 +0200
Commit:     Tomeu Vizoso <tomeu.vizoso@...labora.com>
CommitDate: Mon Jul 13 09:14:59 2015 +0200

    driver-core: probe dependencies before probing
    
    Before actually probing a device, find out what dependencies it has and
    do our best to ensure that they are available at this point.
    
    This is accomplished by finding out what platform devices need to be
    probed and probing them. Non-platform devices will be probed when the
    closest ancestor that is a platform device is probed.
    
    If any dependencies are still unavailable after that (most probably a
    missing driver or an error in the HW description from the firmware), we
    print a nice error message so that people don't have to add a zillion of
    printks to find out why a device asked for its probe to be deferred.
    
    Dependencies are discovered with the help of the code that is already
    implementing the specification of the firmware bindings, via the
    callbacks registered with fwnode_add_dependency_parser().
    
    Currently the dependencies list is discarded but it could be stored for
    later usage.
    
    Signed-off-by: Tomeu Vizoso <tomeu.vizoso@...labora.com>
    Series-version: 2
    Series-cc: rafael, broonie, acpi, alsa, pwm, dri, dt, gpio, fbdev, tegra, kernel, usb
    Cover-letter:
    Discover and probe dependencies
    Hi,
    
    this is version 2 of a series that probes devices in dependency order so
    as to avoid deferred probes. While deferred probing is a powerful
    solution that makes sure that you eventually get a working system at the
    end of the boot, can make it very time consuming to find out why a
    device didn't probe and can also introduce big delays in when a device
    actually probes by sending it to the end of the deferred queue.
    
    So far I have only tested on a Tegra124 Chromebook.
    
    Thanks,
    
    Tomeu
    END
    Series-changes: 2
    - Allocate the list of dependencies and pass it to the function that
      fills it.

+------------------------------------------------+------------+------------+------------+
|                                                | 19a4ff36c0 | 240d94dae4 | ac88d9d7d0 |
+------------------------------------------------+------------+------------+------------+
| boot_successes                                 | 88         | 0          | 0          |
| boot_failures                                  | 2          | 24         | 13         |
| IP-Config:Auto-configuration_of_network_failed | 2          |            |            |
| BUG:unable_to_handle_kernel                    | 0          | 24         | 13         |
| Oops                                           | 0          | 24         | 13         |
| RIP:strlen                                     | 0          | 24         | 13         |
| Kernel_panic-not_syncing:Fatal_exception       | 0          | 24         | 13         |
| backtrace:driver_register                      | 0          | 24         |            |
| backtrace:acpi_processor_driver_init           | 0          | 24         |            |
| backtrace:kernel_init_freeable                 | 0          | 24         | 13         |
| backtrace:acpi_bus_scan                        | 0          | 0          | 13         |
| backtrace:acpi_scan_init                       | 0          | 0          | 13         |
| backtrace:acpi_init                            | 0          | 0          | 13         |
+------------------------------------------------+------------+------------+------------+

[    1.365945] Copyright (C) 2004 MontaVista Software - IPMI Powerdown via sys_reboot.
[    1.367731] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input0
[    1.369367] ACPI: Power Button [PWRF]
[    1.370267] BUG: unable to handle kernel NULL pointer dereference at           (null)
[    1.372153] IP: [<ffffffff8146fb40>] strlen+0x0/0x20
[    1.373209] PGD 0 
[    1.373957] Oops: 0000 [#1] 
[    1.374824] CPU: 0 PID: 1 Comm: swapper Not tainted 4.2.0-rc1-next-20150709-00030-g240d94d #5
[    1.376556] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.7.5-20140531_083030-gandalf 04/01/2014
[    1.378477] task: ffff88000f86ab80 ti: ffff88000f86c000 task.ti: ffff88000f86c000
[    1.380155] RIP: 0010:[<ffffffff8146fb40>]  [<ffffffff8146fb40>] strlen+0x0/0x20
[    1.381883] RSP: 0018:ffff88000f86fce0  EFLAGS: 00010286
[    1.382940] RAX: 0000000000000000 RBX: ffff88000f926800 RCX: 0000000000000001
[    1.384152] RDX: 0000000000000001 RSI: ffff88000f86fd68 RDI: 0000000000000000
[    1.385366] RBP: ffff88000f86fd18 R08: 0000000000000006 R09: 0000000000000f00
[    1.386607] R10: ffffffff81ef33a1 R11: 000000000000018c R12: 0000000000000000
[    1.387862] R13: 0000000000000008 R14: ffff88000f86fd68 R15: ffff88000f95b7f0
[    1.389082] FS:  0000000000000000(0000) GS:ffffffff8221c000(0000) knlGS:0000000000000000
[    1.390864] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    1.391926] CR2: 0000000000000000 CR3: 000000000e195000 CR4: 00000000001407f0
[    1.393139] Stack:
[    1.393816]  ffffffff81530640 ffff88000f86fd18 ffff88000f859c60 ffff88000f95b810
[    1.395765]  ffff88000f86fd68 ffffffff82265b80 0000000000000000 ffff88000f86fd48
[    1.397674]  ffffffff81598f7c ffffffff81f69ddc ffffffff82217388 ffffffff82217388
[    1.399630] Call Trace:
[    1.400322]  [<ffffffff81530640>] ? regulator_get_dependencies+0x40/0xa0
[    1.401498]  [<ffffffff81598f7c>] fwnode_get_dependencies+0x2c/0x80
[    1.402649]  [<ffffffff81594481>] driver_probe_device+0x91/0x390
[    1.403774]  [<ffffffff8159480b>] __driver_attach+0x8b/0x90
[    1.404844]  [<ffffffff81594780>] ? driver_probe_device+0x390/0x390
[    1.405969]  [<ffffffff815926ef>] bus_for_each_dev+0x5f/0x90
[    1.407052]  [<ffffffff815948e9>] driver_attach+0x19/0x20
[    1.408087]  [<ffffffff8159319f>] bus_add_driver+0x19f/0x220
[    1.409156]  [<ffffffff8235f18f>] ? acpi_fan_driver_init+0x14/0x14
[    1.410281]  [<ffffffff81594f8b>] driver_register+0x5b/0xe0
[    1.411387]  [<ffffffff8235f1ab>] acpi_processor_driver_init+0x1c/0x38
[    1.412733]  [<ffffffff82337fbf>] do_one_initcall+0xe6/0x176
[    1.413954]  [<ffffffff82338169>] kernel_init_freeable+0x11a/0x1a2
[    1.415097]  [<ffffffff81ad8c30>] ? rest_init+0x80/0x80
[    1.416119]  [<ffffffff81ad8c39>] kernel_init+0x9/0xe0
[    1.417137]  [<ffffffff81ae527f>] ret_from_fork+0x3f/0x70
[    1.418498]  [<ffffffff81ad8c30>] ? rest_init+0x80/0x80
[    1.419817] Code: f6 81 c0 1a ce 81 20 75 eb c6 42 01 00 0f b6 10 f6 82 c0 1a ce 81 20 74 10 48 83 c0 01 0f b6 10 f6 82 c0 1a ce 81 20 75 f0 5d c3 <80> 3f 00 55 48 89 e5 74 11 48 89 f8 48 83 c0 01 80 38 00 75 f7 
[    1.427642] RIP  [<ffffffff8146fb40>] strlen+0x0/0x20
[    1.428818]  RSP <ffff88000f86fce0>
[    1.430067] CR2: 0000000000000000
[    1.431426] ---[ end trace 28b7a0eec161cbd6 ]---
[    1.433101] Kernel panic - not syncing: Fatal exception

git bisect start ac88d9d7d03289e6eed00aacb150be2006440613 d770e558e21961ad6cfdf0ff7df0eb5d7d4f0754 --
git bisect  bad c22ab4ff1cde7fff6310e73b56577e6600332756  # 03:55      0-     22  Merge 'asoc/topic/sti-sas' into devel-catchup-201507132204
git bisect  bad d28b5211e1e1a083f4da2b89b37387efc26e12ba  # 04:00      0-     24  Merge 'amirv/for-upstream' into devel-catchup-201507132204
git bisect good 61d57c2425ceb47f590bce11cfa8971d6f6bcc7c  # 04:04     22+      0  0day base guard for 'devel-catchup-201507132204'
git bisect  bad eacd810bfdb7b26bfa4505962ecf6dffa4791070  # 04:09      0-     22  Merge 'tomeu/ordered-probing-v3' into devel-catchup-201507132204
git bisect good 7cac38d31c07d3956069826d7b09982f0fa96709  # 04:14     22+      0  Merge remote-tracking branch 'crypto/master'
git bisect good 5b9297ef5b989c5953300bf2436dc91878744cff  # 04:19     22+      0  Merge remote-tracking branch 'spi/for-next'
git bisect good 8b663bdf57db00902f1dd75437642fc0307ffe09  # 04:25     22+      0  Merge remote-tracking branch 'vhost/linux-next'
git bisect good cf0e4cc63804a86ee1b5b8afcce573916aec33fa  # 04:37     22+      3  ipc/msg.c: use freezable blocking call
git bisect good a3aa7cdc2e95a936ba8dd5b00ebfadb35a4e4c1b  # 04:45     22+      2  Merge remote-tracking branch 'livepatching/for-next'
git bisect good 0b3190184e0d555c9c00b0cb5a7dc0ede7083386  # 05:25     22+      4  i2c: core: Have clients point to their firmware nodes
git bisect good 19a4ff36c057acf4a1ce1e4ccbccfbb500b976e2  # 05:35     22+      0  ASoC: tegra: register dependency parser for firmware nodes
git bisect  bad 46a31d43e6a6605b98701e54878e631f9d590cb3  # 05:38      0-     22  get_deps: add locking
git bisect  bad 0feb05fe8f72af493547562f754f228843cda97b  # 05:43      0-     22  dd.c: move check_dependencies out of critical area
git bisect  bad 4cbaa3b798e10e931cb30e3ce6327e226d778f8c  # 05:46      0-     24  dd.c: don't check for dependencies to self
git bisect  bad 240d94dae48c0e526898bb54639622ca897323c9  # 05:49      0-     22  driver-core: probe dependencies before probing
# first bad commit: [240d94dae48c0e526898bb54639622ca897323c9] driver-core: probe dependencies before probing
git bisect good 19a4ff36c057acf4a1ce1e4ccbccfbb500b976e2  # 05:51     66+      2  ASoC: tegra: register dependency parser for firmware nodes
# extra tests with DEBUG_INFO
git bisect  bad 240d94dae48c0e526898bb54639622ca897323c9  # 05:54      0-     66  driver-core: probe dependencies before probing
# extra tests on HEAD of linux-devel/devel-catchup-201507132204
git bisect  bad ac88d9d7d03289e6eed00aacb150be2006440613  # 05:55      0-     13  0day head guard for 'devel-catchup-201507132204'
# extra tests on tree/branch tomeu/ordered-probing-v3
git bisect  bad 0d5684a2c08daec5870ebf0ca7e50307d6a9c6e1  # 08:09      0-     66  fwnode_remove_dependency_parser
# extra tests on tree/branch linus/master
git bisect good f760b87f8f12eb262f14603e65042996fe03720e  # 08:19     66+      0  Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
# extra tests on tree/branch next/master
git bisect good 2eb62d762a2112579f259903e62ba18d16c51f66  # 08:27     66+      0  Add linux-next specific files for 20150713


This script may reproduce the error.

----------------------------------------------------------------------------
#!/bin/bash

kernel=$1
initrd=yocto-minimal-x86_64.cgz

wget --no-clobber https://github.com/fengguang/reproduce-kernel-bug/raw/master/initrd/$initrd

kvm=(
	qemu-system-x86_64
	-enable-kvm
	-cpu Haswell,+smep,+smap
	-kernel $kernel
	-initrd $initrd
	-m 256
	-smp 1
	-device e1000,netdev=net0
	-netdev user,id=net0
	-boot order=nc
	-no-reboot
	-watchdog i6300esb
	-rtc base=localtime
	-serial stdio
	-display none
	-monitor null 
)

append=(
	hung_task_panic=1
	earlyprintk=ttyS0,115200
	systemd.log_level=err
	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
	console=ttyS0,115200
	console=tty0
	vga=normal
	root=/dev/ram0
	rw
	drbd.minor_count=8
)

"${kvm[@]}" --append "${append[*]}"
----------------------------------------------------------------------------

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/lkp                          Intel Corporation

View attachment "dmesg-yocto-ivb42-127:20150714054815:x86_64-randconfig-a0-07132207:4.2.0-rc1-next-20150709-00030-g240d94d:5" of type "text/plain" (45731 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ