[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20131129052552.GC23378@yliu-dev.sh.intel.com>
Date: Fri, 29 Nov 2013 13:25:52 +0800
From: Yuanhan Liu <yuanhan.liu@...ux.intel.com>
To: "Rafael J. Wysocki" <rafael.j.wysocki@...el.com>
Cc: Fengguang Wu <fengguang.wu@...el.com>, linux-kernel@...r.kernel.org
Subject: kernel panic due to "PCI / ACPI: Use acpi_find_child_device() for
child devices lookup"
Greetings,
We got the follow kernel panic dmesg(full dmesg is attached):
[ 7.781306] BUG: unable to handle kernel NULL pointer dereference at 0000000000000018
[ 7.791041] IP: [<ffffffff8154f5e5>] acpi_find_child_device+0x23/0xc3
[ 7.798776] PGD 0
[ 7.801547] Oops: 0000 [#1] SMP
[ 7.805759] Modules linked in:
[ 7.809698] CPU: 2 PID: 1 Comm: swapper/0 Not tainted 3.13.0-rc1-01248-g32f2968 #1874
[ 7.819272] Hardware name: Intel Corporation S2600CP/S2600CP, BIOS RMLSDP.86I.R3.27.D685.1305151734 05/15/2013
[ 7.831275] task: ffff88080cd98000 ti: ffff88080cda0000 task.ti: ffff88080cda0000
[ 7.840461] RIP: 0010:[<ffffffff8154f5e5>] [<ffffffff8154f5e5>] acpi_find_child_device+0x23/0xc3
[ 7.851282] RSP: 0000:ffff88080cda19b0 EFLAGS: 00010282
[ 7.857666] RAX: ffff88080ba52098 RBX: ffff88080cda1a18 RCX: 0000000000000000
[ 7.866089] RDX: 0000000000000001 RSI: 0000000000080000 RDI: 0000000000000000
[ 7.874512] RBP: ffff88080cda19e8 R08: 0000000000000000 R09: 0000000000000000
[ 7.882935] R10: 0000000000000001 R11: 0000000000000001 R12: 0000000000000000
[ 7.891361] R13: 0000000000000001 R14: 0000000000000000 R15: 0000000000080000
[ 7.899785] FS: 0000000000000000(0000) GS:ffff880818a00000(0000) knlGS:0000000000000000
[ 7.909652] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 7.916521] CR2: 0000000000000018 CR3: 000000000220c000 CR4: 00000000001407e0
[ 7.924945] Stack:
[ 7.927632] ffffffff81550091 ffff88080ba53098 ffff88080cda1a18 ffff88080ba53098
[ 7.937044] ffffffff822b6a70 ffff88080ba52098 ffff88080ba43000 ffff88080cda1a00
[ 7.946443] ffffffff81548f73 ffff88080ba53098 ffff88080cda1a30 ffffffff8154fac6
[ 7.955843] Call Trace:
[ 7.959021] [<ffffffff81550091>] ? acpi_bus_get_device+0x21/0x3e
[ 7.966281] [<ffffffff81548f73>] acpi_pci_find_device+0x3c/0x54
[ 7.973442] [<ffffffff8154fac6>] acpi_platform_notify+0x3a/0x6c
[ 7.980603] [<ffffffff815b671b>] device_add+0x143/0x550
[ 7.986988] [<ffffffff8152f2f8>] pci_device_add+0x123/0x13f
[ 7.993760] [<ffffffff81a3a444>] pci_scan_single_device+0x93/0x9e
[ 8.001118] [<ffffffff8152f36b>] pci_scan_slot+0x57/0x108
[ 8.007696] [<ffffffff8152fec0>] pci_scan_child_bus+0x53/0x10d
[ 8.023921] [<ffffffff8152fb53>] pci_scan_bridge+0x1d2/0x4ec
[ 8.030792] [<ffffffff8152ff32>] pci_scan_child_bus+0xc5/0x10d
[ 8.037848] [<ffffffff8152fb53>] pci_scan_bridge+0x1d2/0x4ec
[ 8.044718] [<ffffffff81a3a3f2>] ? pci_scan_single_device+0x41/0x9e
[ 8.052268] [<ffffffff8152ff32>] pci_scan_child_bus+0xc5/0x10d
[ 8.059327] [<ffffffff8191f767>] pci_acpi_scan_root+0x31f/0x3aa
[ 8.066488] [<ffffffff8155593d>] acpi_pci_root_add+0x35e/0x45a
[ 8.073554] [<ffffffff81551dcc>] acpi_bus_attach+0x86/0xf6
[ 8.080220] [<ffffffff81551e28>] acpi_bus_attach+0xe2/0xf6
[ 8.086896] [<ffffffff81551e28>] acpi_bus_attach+0xe2/0xf6
[ 8.093573] [<ffffffff81551e97>] acpi_bus_scan+0x5b/0x6b
[ 8.100059] [<ffffffff82578b47>] ? acpi_sleep_proc_init+0x2a/0x2a
[ 8.107414] [<ffffffff82578f48>] acpi_scan_init+0x61/0x18f
[ 8.114090] [<ffffffff82578b47>] ? acpi_sleep_proc_init+0x2a/0x2a
[ 8.121435] [<ffffffff82578d96>] acpi_init+0x24f/0x267
[ 8.127724] [<ffffffff810002ba>] do_one_initcall+0xa4/0x13a
[ 8.134497] [<ffffffff810e28cc>] ? parse_args+0x261/0x33f
[ 8.141081] [<ffffffff82533fd0>] kernel_init_freeable+0x1d9/0x25f
[ 8.148438] [<ffffffff82533785>] ? do_early_param+0x88/0x88
[ 8.155209] [<ffffffff81a37d99>] ? rest_init+0xcd/0xcd
[ 8.161496] [<ffffffff81a37da7>] kernel_init+0xe/0x109
[ 8.167782] [<ffffffff81a5c0fc>] ret_from_fork+0x7c/0xb0
[ 8.174263] [<ffffffff81a37d99>] ? rest_init+0xcd/0xcd
[ 8.180550] Code: ff ff 5a 5b 41 5c 5d c3 0f 1f 44 00 00 55 48 89 e5 41 57 49 89 f7 41 56 45 31 f6 41 55 44 0f b6 ea 41 54 45 31 e4 53 48 83 ec 10 <48> 8b 47 18 48 8d 58 d8 48 8d 47 18 48 89 45 c8 48 8d 43 28 48
[ 8.208097] RIP [<ffffffff8154f5e5>] acpi_find_child_device+0x23/0xc3
[ 8.215920] RSP <ffff88080cda19b0>
[ 8.220261] CR2: 0000000000000018
[ 8.224413] ---[ end trace 56dc910562aec71f ]---
[ 8.230019] Kernel panic - not syncing: Fatal exception
And the first bad commit we bisected is:
caa223f31b414427e7d12c130587bf3261b257de is the first bad commit
commit caa223f31b414427e7d12c130587bf3261b257de
Author: Rafael J. Wysocki <rafael.j.wysocki@...el.com>
Date: Mon Nov 25 22:49:35 2013 +0100
PCI / ACPI: Use acpi_find_child_device() for child devices lookup
It is much more efficient to use acpi_find_child_device()
for child devices lookup in acpi_pci_find_device() and pass
ACPI_COMPANION(dev->parent) to it directly instead of obtaining
ACPI_HANDLE() of ACPI_COMPANION(dev->parent) and passing it to
acpi_find_child() which has to run acpi_bus_get_device() to
obtain ACPI_COMPANION(dev->parent) from that again.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@...el.com>
Reviewed-by: Aaron Lu <aaron.lu@...el.com>
:040000 040000 eb2cd7279dafcce191ecc17b442130649366e376 bd1101a919edda8ece2e12b9b152426251cd78f0 M drivers
bisect run success
# bad: [32f296837b2323b3c8d88e9e97135b2ed1de123f] Merge 'openvswitch/master' into devel-hourly-2013112708
# good: [6ce4eac1f600b34f2f7f58f9cd8f0503d79e42ae] Linux 3.13-rc1
git bisect start '32f296837b2323b3c8d88e9e97135b2ed1de123f' '6ce4eac1f600b34f2f7f58f9cd8f0503d79e42ae' '--'
# good: [7b797b94fc2592fa130c44d502fb08adfc015647] Merge 'staging/work-next' into devel-hourly-2013112708
git bisect good 7b797b94fc2592fa130c44d502fb08adfc015647
# bad: [caec74c0c122b289f685372f183be0d75877dea9] Merge 'perf/perf/core' into devel-hourly-2013112708
git bisect bad caec74c0c122b289f685372f183be0d75877dea9
# bad: [93bf277e43d6a22edb7a470634cb5fbb372307da] Merge 'shawnguo/for-next' into devel-hourly-2013112708
git bisect bad 93bf277e43d6a22edb7a470634cb5fbb372307da
# bad: [3f127a6bc56a4034016fc53c3add06c5cbc3bc5c] Merge 'm68k/for-3.14' into devel-hourly-2013112708
git bisect bad 3f127a6bc56a4034016fc53c3add06c5cbc3bc5c
# bad: [5e445066299a6a0c0a4a73946561e24da3ed6209] Merge 'pm/bleeding-edge' into devel-hourly-2013112708
git bisect bad 5e445066299a6a0c0a4a73946561e24da3ed6209
# bad: [955423d41f199c649b89fe36fc3b3fd8a102a894] ACPI / bind: Redefine acpi_preset_companion()
git bisect bad 955423d41f199c649b89fe36fc3b3fd8a102a894
# good: [202317a573b20d77a9abb7c16a3fd5b40cef3d9d] ACPI / scan: Add acpi_device objects for all device nodes in the namespace
git bisect good 202317a573b20d77a9abb7c16a3fd5b40cef3d9d
# good: [f4b734c35e98c343cd99824153de09e48867b97e] ACPI / hotplug: Drop unfinished global notification handling routines
git bisect good f4b734c35e98c343cd99824153de09e48867b97e
# good: [c1b5a568803400f131a93cdfdf65e779222122e6] ACPI / bind: Simplify child device lookups
git bisect good c1b5a568803400f131a93cdfdf65e779222122e6
# bad: [313d082956729d896f1a12e6892cf2901a7c2987] ACPI / bind: Redefine acpi_get_child()
git bisect bad 313d082956729d896f1a12e6892cf2901a7c2987
# bad: [caa223f31b414427e7d12c130587bf3261b257de] PCI / ACPI: Use acpi_find_child_device() for child devices lookup
git bisect bad caa223f31b414427e7d12c130587bf3261b257de
# first bad commit: [caa223f31b414427e7d12c130587bf3261b257de] PCI / ACPI: Use acpi_find_child_device() for child devices lookup
View attachment "dmesg.panic" of type "text/plain" (99845 bytes)
Powered by blists - more mailing lists