[drm] bea5b158ff BUG: unable to handle kernel NULL pointer dereference at 0000000000000748
by Fengguang Wu
Greetings,
FYI, this debug patch triggers BUG in DRM subsystem.
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
commit bea5b158ff0da9c7246ff391f754f5f38e34577a
Author: Rob Herring <robh(a)kernel.org>
AuthorDate: Thu Aug 11 10:20:58 2016 -0500
Commit: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
CommitDate: Wed Aug 31 15:13:55 2016 +0200
driver core: add test of driver remove calls during probe
In recent discussions on ksummit-discuss[1], it was suggested to do a
sequence of probe, remove, probe for testing driver remove paths. This
adds a kconfig option for said test.
[1] https://lists.linuxfoundation.org/pipermail/ksummit-discuss/2016-August/0...
Suggested-by: Arnd Bergmann <arnd(a)arndb.de>
Cc: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Rob Herring <robh(a)kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
+------------------------------------------+------------+------------+------------+
| | cebf8fd169 | bea5b158ff | b1ac883759 |
+------------------------------------------+------------+------------+------------+
| boot_successes | 62 | 0 | 0 |
| boot_failures | 0 | 22 | 25 |
| BUG:unable_to_handle_kernel | 0 | 22 | 25 |
| Oops:#[##] | 0 | 22 | 25 |
| RIP:__lock_acquire | 0 | 22 | |
| calltrace:bochs_init | 0 | 22 | |
| Kernel_panic-not_syncing:Fatal_exception | 0 | 22 | 25 |
+------------------------------------------+------------+------------+------------+
[ 11.709231] [TTM] Initializing pool allocator
[ 11.710232] [TTM] Initializing DMA pool allocator
[ 11.711503] [drm] Initialized bochs-drm 1.0.0 20130925 for 0000:00:02.0 on minor 1
[ 11.713363] BUG: unable to handle kernel NULL pointer dereference at 0000000000000748
[ 11.715123] IP: [<ffffffff810e3db3>] __lock_acquire+0x93/0x9a0
[ 11.716586] PGD 0
[ 11.717058] Oops: 0000 [#1]
[ 11.717665] CPU: 0 PID: 1 Comm: swapper Not tainted 4.8.0-rc4-00003-gbea5b15 #1
[ 11.719302] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.9.3-20161025_171302-gandalf 04/01/2014
[ 11.721518] task: ffff88001d468000 task.stack: ffff88001d470000
[ 11.722839] RIP: 0010:[<ffffffff810e3db3>] [<ffffffff810e3db3>] __lock_acquire+0x93/0x9a0
[ 11.724845] RSP: 0000:ffff88001d473b60 EFLAGS: 00010097
[ 11.726009] RAX: 0000000000000000 RBX: 0000000000000246 RCX: 0000000000000000
[ 11.727563] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
[ 11.729170] RBP: ffff88001d473b90 R08: 0000000000000000 R09: 0000000000000000
[ 11.730717] R10: 0000000000000001 R11: 0000000000000000 R12: 0000000000000000
[ 11.732328] R13: 0000000000000000 R14: 0000000000000740 R15: ffff88001d468000
[ 11.733869] FS: 0000000000000000(0000) GS:ffffffff8202f000(0000) knlGS:0000000000000000
[ 11.735624] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 11.736923] CR2: 0000000000000748 CR3: 000000000200c000 CR4: 00000000000006b0
[ 11.738498] Stack:
[ 11.738970] ffff88001d473c08 0000000000000246 ffff88001d468000 ffff880018bb3668
[ 11.740679] ffffffff82267208 00000000000006d0 ffff88001d473bc8 ffffffff810e4a98
[ 11.742424] ffffffff813a2a60 ffffffff00000000 0000000000000000 ffff88001d468000
[ 11.744238] Call Trace:
[ 11.744830] [<ffffffff810e4a98>] lock_acquire+0x68/0x90
[ 11.746051] [<ffffffff813a2a60>] ? drm_mode_object_unregister+0x20/0x50
[ 11.747511] [<ffffffff8190f04a>] mutex_lock_nested+0x6a/0x300
[ 11.748820] [<ffffffff813a2a60>] ? drm_mode_object_unregister+0x20/0x50
[ 11.750276] [<ffffffff813a2a60>] ? drm_mode_object_unregister+0x20/0x50
[ 11.751795] [<ffffffff810f540e>] ? srcu_barrier+0xe/0x10
[ 11.753061] [<ffffffff813a2a60>] drm_mode_object_unregister+0x20/0x50
[ 11.754555] [<ffffffff813a3315>] drm_framebuffer_unregister_private+0x15/0x20
[ 11.756244] [<ffffffff815ef2aa>] bochs_fbdev_fini+0x5a/0x70
[ 11.757528] [<ffffffff815ee146>] bochs_unload+0x16/0x50
[ 11.758755] [<ffffffff8139eeaa>] drm_dev_unregister+0x3a/0xc0
[ 11.760100] [<ffffffff8139ef6f>] drm_put_dev+0x3f/0x50
[ 11.761260] [<ffffffff815ee090>] bochs_pci_remove+0x10/0x20
[ 11.762557] [<ffffffff812896c6>] pci_device_remove+0x46/0xb0
[ 11.763909] [<ffffffff815ff970>] driver_probe_device+0x150/0x300
[ 11.765290] [<ffffffff815ffb8d>] __driver_attach+0x6d/0x90
[ 11.766551] [<ffffffff815ffb20>] ? driver_probe_device+0x300/0x300
[ 11.767952] [<ffffffff815fdb44>] bus_for_each_dev+0x54/0x90
[ 11.769194] [<ffffffff815ffc89>] driver_attach+0x19/0x20
[ 11.770414] [<ffffffff815fe576>] bus_add_driver+0xe6/0x200
[ 11.771730] [<ffffffff81600103>] driver_register+0x83/0xc0
[ 11.773043] [<ffffffff8128987b>] __pci_register_driver+0x5b/0x60
[ 11.774427] [<ffffffff823425c3>] ? nouveau_drm_init+0x1cf/0x1cf
[ 11.775757] [<ffffffff813a029c>] drm_pci_init+0x4c/0xf0
[ 11.776940] [<ffffffff8139ee58>] ? drm_dev_register+0xb8/0xd0
[ 11.778203] [<ffffffff823425c3>] ? nouveau_drm_init+0x1cf/0x1cf
[ 11.779537] [<ffffffff8231370b>] ? do_early_param+0x8f/0x8f
[ 11.780849] [<ffffffff823425da>] bochs_init+0x17/0x19
[ 11.781978] [<ffffffff82314052>] do_one_initcall+0x89/0x11a
[ 11.783233] [<ffffffff8231370b>] ? do_early_param+0x8f/0x8f
[ 11.784497] [<ffffffff82314262>] kernel_init_freeable+0x17f/0x215
[ 11.785866] [<ffffffff8190cac9>] kernel_init+0x9/0xf0
[ 11.786990] [<ffffffff8191351f>] ret_from_fork+0x1f/0x40
[ 11.788216] [<ffffffff8190cac0>] ? rest_init+0xc0/0xc0
[ 11.789367] Code: 85 93 07 00 00 48 c7 c1 5a 44 d7 81 48 c7 c2 2e 10 d7 81 be 92 0c 00 00 48 c7 c7 20 84 d7 81 e8 94 0f fd ff e9 f1 08 00 00 89 f0 <49> 8b 44 c6 08 48 85 c0 75 21 31 d2 4c 89 f7 44 89 45 d0 89 4d
[ 11.794799] RIP [<ffffffff810e3db3>] __lock_acquire+0x93/0x9a0
[ 11.796299] RSP <ffff88001d473b60>
[ 11.797093] CR2: 0000000000000748
[ 11.797859] ---[ end trace 103f598e68dbf79f ]---
[ 11.798934] Kernel panic - not syncing: Fatal exception
git bisect start v4.9 v4.8 --
git bisect bad 9fe68cad6e74967b88d0c6aeca7d9cd6b6e91942 # 05:25 0- 1 Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
git bisect bad 5fa0eb0b4d4780fbd6d8a09850cc4fd539e9fe65 # 05:35 0- 4 Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect bad d8ea757b25ec82687c497fc90aa83f9bcea24b5b # 05:50 0- 1 Merge tag 'xtensa-20161005' of git://github.com/jcmvbkbc/linux-xtensa
git bisect bad e6445f52d9c8b0e6557a45fa7d0e8e088d430a8c # 06:14 0- 1 Merge tag 'usb-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
git bisect good 1a4a2bc460721bc8f91e4c1294d39b38e5af132f # 06:45 20+ 0 Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect good 49deffe0b0e4c2030696c7a6fd680bacf4761069 # 07:35 20+ 0 Merge tag 'arc-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc
git bisect good 597f03f9d133e9837d00965016170271d4f87dcf # 08:15 20+ 0 Merge branch 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect bad 9929780e86854833e649b39b290b5fe921eb1701 # 08:43 0- 1 Merge tag 'driver-core-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
git bisect good 7a53eea1f7b527fd3b6d7ca992914840981afe99 # 08:57 21+ 1 Merge tag 'char-misc-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
git bisect bad 775115c06091fcfa1189a50aca488fa596839617 # 09:29 0- 2 drivers/base dmam_declare_coherent_memory leaks
git bisect bad 426bc8e789f8ac84270b196191904d347586032f # 09:40 0- 3 base: soc: make it explicitly non-modular
git bisect bad bea5b158ff0da9c7246ff391f754f5f38e34577a # 09:53 0- 2 driver core: add test of driver remove calls during probe
git bisect good cebf8fd16900fdfd58c0028617944f808f97fe50 # 10:04 21+ 0 driver core: fix race between creating/querying glue dir and its cleanup
# first bad commit: [bea5b158ff0da9c7246ff391f754f5f38e34577a] driver core: add test of driver remove calls during probe
git bisect good cebf8fd16900fdfd58c0028617944f808f97fe50 # 10:13 60+ 0 driver core: fix race between creating/querying glue dir and its cleanup
# extra tests with CONFIG_DEBUG_INFO_REDUCED
git bisect bad bea5b158ff0da9c7246ff391f754f5f38e34577a # 10:25 0- 12 driver core: add test of driver remove calls during probe
# extra tests on HEAD of linux-devel/devel-spot-201702160837
git bisect bad b1ac88375913cf81c56dbf5a2c9b64863f188ee2 # 10:25 0- 25 0day head guard for 'devel-spot-201702160837'
# extra tests on tree/branch linus/master
git bisect bad 6dc39c50e4aeb769c8ae06edf2b1a732f3490913 # 10:43 0- 1 Merge branch 'for-linus' of git://git.kernel.dk/linux-block
# extra tests on tree/branch linus/master
git bisect bad 6dc39c50e4aeb769c8ae06edf2b1a732f3490913 # 10:43 0- 2 Merge branch 'for-linus' of git://git.kernel.dk/linux-block
# extra tests on tree/branch linux-next/master
git bisect bad 4ce4a759a3e221b5265ebd03c2f8888b69a7cf3e # 11:07 0- 1 Add linux-next specific files for 20170217
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/lkp Intel Corporation
5 years, 2 months
[usb] bea5b158ff WARNING: CPU: 0 PID: 25 at drivers/usb/core/urb.c:338 usb_submit_urb
by Fengguang Wu
[Sorry, resend to correct Felipe's email address]
Greetings,
This debug patch possibly discloses some USB/I2C bugs. Since the USB
warning shows up earlier in dmesg, it might also be the root cause of
the I2C bug. The attached reproduce-* script may help debug them.
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
commit bea5b158ff0da9c7246ff391f754f5f38e34577a
Author: Rob Herring <robh(a)kernel.org>
AuthorDate: Thu Aug 11 10:20:58 2016 -0500
Commit: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
CommitDate: Wed Aug 31 15:13:55 2016 +0200
driver core: add test of driver remove calls during probe
In recent discussions on ksummit-discuss[1], it was suggested to do a
sequence of probe, remove, probe for testing driver remove paths. This
adds a kconfig option for said test.
[1] https://lists.linuxfoundation.org/pipermail/ksummit-discuss/2016-August/0...
Suggested-by: Arnd Bergmann <arnd(a)arndb.de>
Cc: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Rob Herring <robh(a)kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
cebf8fd169 driver core: fix race between creating/querying glue dir and its cleanup
bea5b158ff driver core: add test of driver remove calls during probe
+---------------------------------------------------+------------+------------+
| | cebf8fd169 | bea5b158ff |
+---------------------------------------------------+------------+------------+
| boot_successes | 215 | 0 |
| boot_failures | 0 | 55 |
| calltrace:init | 0 | 55 |
| WARNING:at_drivers/usb/core/urb.c:#usb_submit_urb | 0 | 30 |
| calltrace:hub_init_func3 | 0 | 13 |
| BUG:unable_to_handle_kernel | 0 | 55 |
| Oops | 0 | 55 |
| EIP_is_at_i2c_do_del_adapter | 0 | 55 |
| calltrace:of_unittest | 0 | 55 |
| Kernel_panic-not_syncing:Fatal_exception | 0 | 55 |
| calltrace:pm_runtime_work | 0 | 16 |
| calltrace:hub_init_func2 | 0 | 1 |
+---------------------------------------------------+------------+------------+
[ 9.260542] hub 1-0:1.0: 1 port detected
[ 9.261049] hub 1-0:1.0: USB hub found
[ 9.261458] hub 1-0:1.0: 1 port detected
[ 9.262388] kobject (cf9188bc): tried to init an initialized object, something is seriously wrong.
[ 9.263589] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.8.0-rc4-00003-gbea5b15 #2
[ 9.264595] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.9.3-20161025_171302-gandalf 04/01/2014
[ 9.265922] 00000000 00000000 c0047db4 c11aec39 cf9188bc c1c1ba9c c0047dcc c11b0616
[ 9.267073] c1ab0c68 cf9188bc cf9188b4 cf918868 c0047dd8 c13090ec cf9188b4 c0047de4
[ 9.268230] c130a49e ce6a8000 c0047e04 c1402216 ce69300c 00200246 cf9188b4 cf918000
[ 9.269388] Call Trace:
[ 9.269720] [<c11aec39>] dump_stack+0x58/0x72
[ 9.270312] [<c11b0616>] kobject_init+0x27/0x71
[ 9.270929] [<c13090ec>] device_initialize+0x1b/0xbd
[ 9.271599] [<c130a49e>] device_register+0xb/0x15
[ 9.272236] [<c1402216>] usb_add_gadget_udc_release+0x85/0x215
[ 9.273036] [<c1402403>] usb_add_gadget_udc+0xa/0xc
[ 9.273700] [<c1403f37>] dummy_udc_probe+0x130/0x168
[ 9.274377] [<c130cf05>] platform_drv_probe+0x44/0x80
[ 9.275047] [<c130bef3>] driver_probe_device+0xfe/0x297
[ 9.275748] [<c130c17a>] __device_attach_driver+0x65/0x71
[ 9.276481] [<c130add0>] bus_for_each_drv+0x3a/0x67
[ 9.277130] [<c130bd02>] __device_attach+0x86/0xdb
[ 9.277778] [<c130c115>] ? driver_allows_async_probing+0xc/0xc
[ 9.278561] [<c130c28a>] device_initial_probe+0xd/0xf
[ 9.279235] [<c130af4f>] bus_probe_device+0x25/0x67
[ 9.279895] [<c130a33d>] device_add+0x341/0x497
[ 9.280517] [<c130930f>] ? dev_set_name+0x14/0x16
[ 9.281154] [<c130d4c5>] platform_device_add+0x117/0x161
[ 9.281879] [<c1d18945>] init+0x20d/0x2f4
[ 9.282431] [<c1d18738>] ? usb_udc_init+0x3f/0x3f
[ 9.283075] [<c1cdeba3>] do_one_initcall+0x7e/0xfc
[ 9.283725] [<c1056209>] ? parse_args+0x19b/0x26f
[ 9.284362] [<c1cded68>] ? kernel_init_freeable+0x147/0x1eb
[ 9.285100] [<c1cded84>] kernel_init_freeable+0x163/0x1eb
[ 9.285826] [<c170d049>] kernel_init+0x8/0xd0
[ 9.286417] [<c17122e2>] ret_from_kernel_thread+0xe/0x24
[ 9.287118] [<c170d041>] ? rest_init+0xa5/0xa5
[ 9.288532] i8042: PNP: PS/2 Controller [PNP0303:KBD,PNP0f13:MOU] at 0x60,0x64 irq 1,12
[ 9.290663] serio: i8042 KBD port at 0x60,0x64 irq 1
[ 9.291372] serio: i8042 AUX port at 0x60,0x64 irq 12
[ 9.293351] serio: i8042 KBD port at 0x60,0x64 irq 1
[ 9.294031] serio: i8042 AUX port at 0x60,0x64 irq 12
The attached dmesg has more follow up errors.
git bisect start v4.9 v4.8 --
git bisect bad 9fe68cad6e74967b88d0c6aeca7d9cd6b6e91942 # 00:43 18- 30 Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
git bisect bad d8ea757b25ec82687c497fc90aa83f9bcea24b5b # 01:11 4- 6 Merge tag 'xtensa-20161005' of git://github.com/jcmvbkbc/linux-xtensa
git bisect bad e6445f52d9c8b0e6557a45fa7d0e8e088d430a8c # 01:17 6- 11 Merge tag 'usb-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
git bisect good 1a4a2bc460721bc8f91e4c1294d39b38e5af132f # 01:32 52+ 0 Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect good 3ef0a61a467639cf7def299309cd9ea524c3e1c1 # 01:50 52+ 0 Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect bad e6dce825fba05f447bd22c865e27233182ab3d79 # 02:02 17- 27 Merge tag 'tty-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
git bisect good 597f03f9d133e9837d00965016170271d4f87dcf # 02:34 55+ 0 Merge branch 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect good 7a53eea1f7b527fd3b6d7ca992914840981afe99 # 02:55 51+ 0 Merge tag 'char-misc-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
git bisect bad 9929780e86854833e649b39b290b5fe921eb1701 # 03:03 1- 3 Merge tag 'driver-core-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
git bisect bad 2c507e464f791327c94d17a0137f00b4717744fc # 03:15 2- 4 device core: Remove deprecated create_singlethread_workqueue
git bisect bad 03aca7b260ea2aadf92596d2f57160e4aee8ffb0 # 03:26 0- 7 attribute_container: Fix typo
git bisect bad bea5b158ff0da9c7246ff391f754f5f38e34577a # 03:41 0- 1 driver core: add test of driver remove calls during probe
git bisect good 24ef5f360f22e4408cb49d75755d27d5a21820f7 # 03:57 51+ 0 debugfs: remove extra debugfs_create_file_unsafe() declaration
git bisect good cebf8fd16900fdfd58c0028617944f808f97fe50 # 08:29 55+ 0 driver core: fix race between creating/querying glue dir and its cleanup
# first bad commit: [bea5b158ff0da9c7246ff391f754f5f38e34577a] driver core: add test of driver remove calls during probe
git bisect good cebf8fd16900fdfd58c0028617944f808f97fe50 # 11:46 160+ 0 driver core: fix race between creating/querying glue dir and its cleanup
# extra tests with CONFIG_DEBUG_INFO_REDUCED
# extra tests on HEAD of linux-devel/devel-spot-201702252217
git bisect bad b2c7455f59b51a4477df19cd36f18ef4734a860e # 11:51 0- 13 0day head guard for 'devel-spot-201702252217'
# extra tests on tree/branch linus/master
git bisect bad c4f3f22eddc982d247ffe2a6690c3e4a5c46dd09 # 12:01 2- 1 Merge tag 'linux-kselftest-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
# extra tests on tree/branch linux-next/master
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/lkp Intel Corporation
5 years, 2 months
[usb] bea5b158ff WARNING: CPU: 0 PID: 25 at drivers/usb/core/urb.c:338 usb_submit_urb
by Fengguang Wu
Greetings,
This debug patch possibly discloses some USB/I2C bugs. Since the USB
warning shows up earlier in dmesg, it might also be the root cause of
the I2C bug. The attached reproduce-* script may help debug them.
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
commit bea5b158ff0da9c7246ff391f754f5f38e34577a
Author: Rob Herring <robh(a)kernel.org>
AuthorDate: Thu Aug 11 10:20:58 2016 -0500
Commit: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
CommitDate: Wed Aug 31 15:13:55 2016 +0200
driver core: add test of driver remove calls during probe
In recent discussions on ksummit-discuss[1], it was suggested to do a
sequence of probe, remove, probe for testing driver remove paths. This
adds a kconfig option for said test.
[1] https://lists.linuxfoundation.org/pipermail/ksummit-discuss/2016-August/0...
Suggested-by: Arnd Bergmann <arnd(a)arndb.de>
Cc: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Rob Herring <robh(a)kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
cebf8fd169 driver core: fix race between creating/querying glue dir and its cleanup
bea5b158ff driver core: add test of driver remove calls during probe
+---------------------------------------------------+------------+------------+
| | cebf8fd169 | bea5b158ff |
+---------------------------------------------------+------------+------------+
| boot_successes | 215 | 0 |
| boot_failures | 0 | 55 |
| calltrace:init | 0 | 55 |
| WARNING:at_drivers/usb/core/urb.c:#usb_submit_urb | 0 | 30 |
| calltrace:hub_init_func3 | 0 | 13 |
| BUG:unable_to_handle_kernel | 0 | 55 |
| Oops | 0 | 55 |
| EIP_is_at_i2c_do_del_adapter | 0 | 55 |
| calltrace:of_unittest | 0 | 55 |
| Kernel_panic-not_syncing:Fatal_exception | 0 | 55 |
| calltrace:pm_runtime_work | 0 | 16 |
| calltrace:hub_init_func2 | 0 | 1 |
+---------------------------------------------------+------------+------------+
[ 9.260542] hub 1-0:1.0: 1 port detected
[ 9.261049] hub 1-0:1.0: USB hub found
[ 9.261458] hub 1-0:1.0: 1 port detected
[ 9.262388] kobject (cf9188bc): tried to init an initialized object, something is seriously wrong.
[ 9.263589] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.8.0-rc4-00003-gbea5b15 #2
[ 9.264595] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.9.3-20161025_171302-gandalf 04/01/2014
[ 9.265922] 00000000 00000000 c0047db4 c11aec39 cf9188bc c1c1ba9c c0047dcc c11b0616
[ 9.267073] c1ab0c68 cf9188bc cf9188b4 cf918868 c0047dd8 c13090ec cf9188b4 c0047de4
[ 9.268230] c130a49e ce6a8000 c0047e04 c1402216 ce69300c 00200246 cf9188b4 cf918000
[ 9.269388] Call Trace:
[ 9.269720] [<c11aec39>] dump_stack+0x58/0x72
[ 9.270312] [<c11b0616>] kobject_init+0x27/0x71
[ 9.270929] [<c13090ec>] device_initialize+0x1b/0xbd
[ 9.271599] [<c130a49e>] device_register+0xb/0x15
[ 9.272236] [<c1402216>] usb_add_gadget_udc_release+0x85/0x215
[ 9.273036] [<c1402403>] usb_add_gadget_udc+0xa/0xc
[ 9.273700] [<c1403f37>] dummy_udc_probe+0x130/0x168
[ 9.274377] [<c130cf05>] platform_drv_probe+0x44/0x80
[ 9.275047] [<c130bef3>] driver_probe_device+0xfe/0x297
[ 9.275748] [<c130c17a>] __device_attach_driver+0x65/0x71
[ 9.276481] [<c130add0>] bus_for_each_drv+0x3a/0x67
[ 9.277130] [<c130bd02>] __device_attach+0x86/0xdb
[ 9.277778] [<c130c115>] ? driver_allows_async_probing+0xc/0xc
[ 9.278561] [<c130c28a>] device_initial_probe+0xd/0xf
[ 9.279235] [<c130af4f>] bus_probe_device+0x25/0x67
[ 9.279895] [<c130a33d>] device_add+0x341/0x497
[ 9.280517] [<c130930f>] ? dev_set_name+0x14/0x16
[ 9.281154] [<c130d4c5>] platform_device_add+0x117/0x161
[ 9.281879] [<c1d18945>] init+0x20d/0x2f4
[ 9.282431] [<c1d18738>] ? usb_udc_init+0x3f/0x3f
[ 9.283075] [<c1cdeba3>] do_one_initcall+0x7e/0xfc
[ 9.283725] [<c1056209>] ? parse_args+0x19b/0x26f
[ 9.284362] [<c1cded68>] ? kernel_init_freeable+0x147/0x1eb
[ 9.285100] [<c1cded84>] kernel_init_freeable+0x163/0x1eb
[ 9.285826] [<c170d049>] kernel_init+0x8/0xd0
[ 9.286417] [<c17122e2>] ret_from_kernel_thread+0xe/0x24
[ 9.287118] [<c170d041>] ? rest_init+0xa5/0xa5
[ 9.288532] i8042: PNP: PS/2 Controller [PNP0303:KBD,PNP0f13:MOU] at 0x60,0x64 irq 1,12
[ 9.290663] serio: i8042 KBD port at 0x60,0x64 irq 1
[ 9.291372] serio: i8042 AUX port at 0x60,0x64 irq 12
[ 9.293351] serio: i8042 KBD port at 0x60,0x64 irq 1
[ 9.294031] serio: i8042 AUX port at 0x60,0x64 irq 12
The attached dmesg has more follow up errors.
git bisect start v4.9 v4.8 --
git bisect bad 9fe68cad6e74967b88d0c6aeca7d9cd6b6e91942 # 00:43 18- 30 Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
git bisect bad d8ea757b25ec82687c497fc90aa83f9bcea24b5b # 01:11 4- 6 Merge tag 'xtensa-20161005' of git://github.com/jcmvbkbc/linux-xtensa
git bisect bad e6445f52d9c8b0e6557a45fa7d0e8e088d430a8c # 01:17 6- 11 Merge tag 'usb-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
git bisect good 1a4a2bc460721bc8f91e4c1294d39b38e5af132f # 01:32 52+ 0 Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect good 3ef0a61a467639cf7def299309cd9ea524c3e1c1 # 01:50 52+ 0 Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect bad e6dce825fba05f447bd22c865e27233182ab3d79 # 02:02 17- 27 Merge tag 'tty-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
git bisect good 597f03f9d133e9837d00965016170271d4f87dcf # 02:34 55+ 0 Merge branch 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect good 7a53eea1f7b527fd3b6d7ca992914840981afe99 # 02:55 51+ 0 Merge tag 'char-misc-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
git bisect bad 9929780e86854833e649b39b290b5fe921eb1701 # 03:03 1- 3 Merge tag 'driver-core-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
git bisect bad 2c507e464f791327c94d17a0137f00b4717744fc # 03:15 2- 4 device core: Remove deprecated create_singlethread_workqueue
git bisect bad 03aca7b260ea2aadf92596d2f57160e4aee8ffb0 # 03:26 0- 7 attribute_container: Fix typo
git bisect bad bea5b158ff0da9c7246ff391f754f5f38e34577a # 03:41 0- 1 driver core: add test of driver remove calls during probe
git bisect good 24ef5f360f22e4408cb49d75755d27d5a21820f7 # 03:57 51+ 0 debugfs: remove extra debugfs_create_file_unsafe() declaration
git bisect good cebf8fd16900fdfd58c0028617944f808f97fe50 # 08:29 55+ 0 driver core: fix race between creating/querying glue dir and its cleanup
# first bad commit: [bea5b158ff0da9c7246ff391f754f5f38e34577a] driver core: add test of driver remove calls during probe
git bisect good cebf8fd16900fdfd58c0028617944f808f97fe50 # 11:46 160+ 0 driver core: fix race between creating/querying glue dir and its cleanup
# extra tests with CONFIG_DEBUG_INFO_REDUCED
# extra tests on HEAD of linux-devel/devel-spot-201702252217
git bisect bad b2c7455f59b51a4477df19cd36f18ef4734a860e # 11:51 0- 13 0day head guard for 'devel-spot-201702252217'
# extra tests on tree/branch linus/master
git bisect bad c4f3f22eddc982d247ffe2a6690c3e4a5c46dd09 # 12:01 2- 1 Merge tag 'linux-kselftest-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
# extra tests on tree/branch linux-next/master
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/lkp Intel Corporation
5 years, 2 months
[locking/ww_mutex] f2a5fec173: BUG: workqueue lockup - pool cpus=0 node=0 flags=0x0 nice=0 stuck for 59s!
by kernel test robot
Greetings,
0day kernel testing robot got the below dmesg and the first bad commit is
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
commit f2a5fec17395f259d54daa8833d81b00cceb15c3
Author: Chris Wilson <chris(a)chris-wilson.co.uk>
AuthorDate: Thu Dec 1 11:47:06 2016 +0000
Commit: Ingo Molnar <mingo(a)kernel.org>
CommitDate: Sat Jan 14 11:37:14 2017 +0100
locking/ww_mutex: Begin kselftests for ww_mutex
Signed-off-by: Chris Wilson <chris(a)chris-wilson.co.uk>
Signed-off-by: Peter Zijlstra (Intel) <peterz(a)infradead.org>
Cc: Andrew Morton <akpm(a)linux-foundation.org>
Cc: Linus Torvalds <torvalds(a)linux-foundation.org>
Cc: Maarten Lankhorst <dev(a)mblankhorst.nl>
Cc: Nicolai Hähnle <nhaehnle(a)gmail.com>
Cc: Paul E. McKenney <paulmck(a)linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz(a)infradead.org>
Cc: Thomas Gleixner <tglx(a)linutronix.de>
Link: http://lkml.kernel.org/r/20161201114711.28697-4-chris@chris-wilson.co.uk
Signed-off-by: Ingo Molnar <mingo(a)kernel.org>
0186a6cbdc locking/ww_mutex: Add ww_mutex to locktorture test
f2a5fec173 locking/ww_mutex: Begin kselftests for ww_mutex
+-------------------------------+------------+------------+
| | 0186a6cbdc | f2a5fec173 |
+-------------------------------+------------+------------+
| boot_successes | 120 | 0 |
| boot_failures | 0 | 112 |
| BUG:workqueue_lockup-pool | 0 | 97 |
| BUG:kernel_hang_in_boot_stage | 0 | 15 |
+-------------------------------+------------+------------+
[ 3.036274] PCI: CLS 0 bytes, default 64
[ 3.038041] Unpacking initramfs...
[ 3.058066] workqueue: round-robin CPU selection forced, expect performance impact
[ 3.149167] debug: unmapping init [mem 0xcfc9d000-0xcffcffff]
[ 3.152572] cryptomgr_test (23) used greatest stack depth: 7652 bytes left
[ 63.606059] BUG: workqueue lockup - pool cpus=0 node=0 flags=0x0 nice=0 stuck for 59s!
[ 63.610183] Showing busy workqueues and worker pools:
[ 63.611720] workqueue events: flags=0x0
[ 63.613064] pwq 0: cpus=0 node=0 flags=0x0 nice=0 active=2/256
[ 63.614743] in-flight: 22:test_mutex_work
[ 63.616153] pending: tsc_refine_calibration_work
git bisect start e7a9cdaf617bb866348b56c41806f9405df24e38 c470abd4fde40ea6a0846a2beab642a578c0b8cd --
git bisect bad c6ab4540dc999ad60e5f4e20d29b8039fb093b30 # 00:57 0- 7 Merge 'dax/fd-alloc' into devel-spot-201702251707
git bisect good bd66678f66ab6a7aab38d8d8e7bd82086300ad2f # 01:12 20+ 0 Merge 'chanwoo-extcon/extcon-next' into devel-spot-201702251707
git bisect bad 57efc9635834ab4a24fa94ed200b32585d67b175 # 01:26 0- 7 Merge 'jlayton/ceph-4.11' into devel-spot-201702251707
git bisect good d0ca01d183ec3766f03c1ffe66921ce0f43b8d50 # 01:45 20+ 2 Merge 'linux-review/Bjorn-Andersson/arm64-dts-msm8996-Add-modem-and-slpi-smp2p-nodes/20170225-083258' into devel-spot-201702251707
git bisect bad 229797d6c89ad2304c27c1d355d7684f20097fa3 # 02:09 0- 10 Merge 'linux-review/Eric-Biggers/crypto-constify-test-vectors/20170225-075240' into devel-spot-201702251707
git bisect bad eb4085c137f82fa834cceb1d8e5f4b1264fbd297 # 02:22 0- 13 Merge 'linux-review/Niklas-Cassel/locking-rwsem-fix-down_write_killable-for-CONFIG_RWSEM_GENERIC_SPINLOCK/20170225-082246' into devel-spot-201702251707
git bisect bad f2a5fec17395f259d54daa8833d81b00cceb15c3 # 02:31 0- 6 locking/ww_mutex: Begin kselftests for ww_mutex
git bisect good 3822da3ed0676e01f83fe0518c333c8e9ba249bf # 02:53 20+ 0 locking/ww_mutex: Extract stamp comparison to __ww_mutex_stamp_after()
git bisect good 427b18207a87f6306bd53a74e03dbe17392b0045 # 03:23 20+ 0 locking/mutex: Improve inlining
git bisect good 977625a693283dbb35b2a3f674bc0237f7347348 # 11:46 22+ 1 locking/mutex: Initialize mutex_waiter::ww_ctx with poison when debugging
git bisect good 0186a6cbdc6287fde65858e5d9c714dc167b8ace # 12:45 20+ 0 locking/ww_mutex: Add ww_mutex to locktorture test
# first bad commit: [f2a5fec17395f259d54daa8833d81b00cceb15c3] locking/ww_mutex: Begin kselftests for ww_mutex
git bisect good 0186a6cbdc6287fde65858e5d9c714dc167b8ace # 14:12 60+ 0 locking/ww_mutex: Add ww_mutex to locktorture test
# extra tests on HEAD of linux-devel/devel-spot-201702251707
git bisect bad e7a9cdaf617bb866348b56c41806f9405df24e38 # 14:13 0- 45 0day head guard for 'devel-spot-201702251707'
# extra tests on tree/branch linus/master
git bisect bad c4f3f22eddc982d247ffe2a6690c3e4a5c46dd09 # 14:31 0- 1 Merge tag 'linux-kselftest-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
# extra tests on tree/branch linux-next/master
git bisect bad 3e7350242c6f3d41d28e03418bd781cc1b7bad5f # 14:31 0- 44 Add linux-next specific files for 20170224
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/lkp Intel Corporation
5 years, 2 months
[dax/wlist] a37748add0 INFO: task udevd:304 blocked for more than 120 seconds.
by Fengguang Wu
Hi Matthew,
We find the softlockup and blocked_tasks issues related to your
dax/wlist tree. The bisect to merge commit is not ideal, however
the errors do look relevant. The attached reproduce-* script may
help you debug the problem.
git://internal_merge_and_test_tree devel-catchup-201702222304
commit a37748add0fa56e04c78ef2860f76eb894444164
Merge: fa1fcf7 947a7ea
Author: 0day robot <fengguang.wu(a)intel.com>
AuthorDate: Wed Feb 22 23:04:13 2017 +0800
Commit: 0day robot <fengguang.wu(a)intel.com>
CommitDate: Wed Feb 22 23:04:13 2017 +0800
Merge 'dax/wlist' into devel-catchup-201702222304
fa1fcf710e Merge 'linux-review/Bartosz-Golaszewski/ARM-davinci-vpif-capture-display-support/20170222-221850' into devel-catchup-201702222304
947a7ea93f Convert semaphores to use waitlists
a37748add0 Merge 'dax/wlist' into devel-catchup-201702222304
+------------------------------------------------------------------+------------+------------+------------+
| | fa1fcf710e | 947a7ea93f | a37748add0 |
+------------------------------------------------------------------+------------+------------+------------+
| boot_successes | 135 | 0 | 4 |
| boot_failures | 1 | 133 | 33 |
| invoked_oom-killer:gfp_mask=0x | 1 | | |
| Mem-Info | 1 | | |
| page_allocation_failure:order:#,mode:#(GFP_KERNEL|__GFP_NORETRY) | 1 | | |
| Kernel_panic-not_syncing:softlockup:hung_tasks | 0 | 133 | |
| INFO:task_blocked_for_more_than#seconds | 0 | 0 | 33 |
| calltrace:SyS_munmap | 0 | 0 | 25 |
| Kernel_panic-not_syncing:hung_task:blocked_tasks | 0 | 0 | 32 |
| calltrace:SyS_brk | 0 | 0 | 14 |
| calltrace:SyS_mprotect | 0 | 0 | 1 |
| BUG:kernel_hang_in_test_stage | 0 | 0 | 1 |
+------------------------------------------------------------------+------------+------------+------------+
[ 275.146571] init: Temporary process spawn error: No such file or directory
[ 275.146571] init: Temporary process spawn error: No such file or directory
[ 275.274924] init: plymouth-upstart-bridge main process (345) terminated with status 1
[ 275.274924] init: plymouth-upstart-bridge main process (345) terminated with status 1
[ 326.624181] Writes: Total: 4 Max/Min: 0/0 Fail: 0
[ 367.584246] INFO: task udevd:304 blocked for more than 120 seconds.
[ 367.584246] INFO: task udevd:304 blocked for more than 120 seconds.
[ 367.587631] Not tainted 4.10.0-02694-ga37748a #1
[ 367.587631] Not tainted 4.10.0-02694-ga37748a #1
[ 367.589434] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[ 367.589434] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[ 367.591486] udevd D29176 304 1 0x00000004
[ 367.591486] udevd D29176 304 1 0x00000004
[ 367.593057] Call Trace:
[ 367.593057] Call Trace:
[ 367.593738] __schedule+0xa0d/0x1450
[ 367.593738] __schedule+0xa0d/0x1450
[ 367.594696] schedule+0x5c/0x120
[ 367.594696] schedule+0x5c/0x120
[ 367.595565] rwsem_down_read_failed+0x17e/0x270
[ 367.595565] rwsem_down_read_failed+0x17e/0x270
[ 367.596864] call_rwsem_down_read_failed+0x18/0x30
[ 367.596864] call_rwsem_down_read_failed+0x18/0x30
[ 367.598145] ? lock_contended+0x4e0/0x7a0
[ 367.598145] ? lock_contended+0x4e0/0x7a0
[ 367.599212] down_read+0x10c/0x140
[ 367.599212] down_read+0x10c/0x140
[ 367.604226] ? validate_mm+0xbd/0x660
[ 367.604226] ? validate_mm+0xbd/0x660
[ 367.605214] validate_mm+0xbd/0x660
[ 367.605214] validate_mm+0xbd/0x660
[ 367.606201] ? __asan_loadN+0xf/0x20
[ 367.606201] ? __asan_loadN+0xf/0x20
[ 367.607168] ? __vma_link_file+0x50/0x130
[ 367.607168] ? __vma_link_file+0x50/0x130
[ 367.612334] vma_link+0xb3/0x160
[ 367.612334] vma_link+0xb3/0x160
[ 367.613212] mmap_region+0xb06/0xf30
[ 367.613212] mmap_region+0xb06/0xf30
[ 367.614173] ? __asan_loadN+0xf/0x20
[ 367.614173] ? __asan_loadN+0xf/0x20
[ 367.615127] ? get_unmapped_area+0x1c0/0x380
[ 367.615127] ? get_unmapped_area+0x1c0/0x380
[ 367.620385] do_mmap+0x656/0xb70
[ 367.620385] do_mmap+0x656/0xb70
[ 367.621266] vm_mmap_pgoff+0xcb/0x130
[ 367.621266] vm_mmap_pgoff+0xcb/0x130
[ 367.622249] SyS_mmap_pgoff+0xd3/0x490
[ 367.622249] SyS_mmap_pgoff+0xd3/0x490
[ 367.623258] SyS_mmap+0x85/0xa0
[ 367.623258] SyS_mmap+0x85/0xa0
[ 367.628205] entry_SYSCALL_64_fastpath+0x1e/0xb2
[ 367.628205] entry_SYSCALL_64_fastpath+0x1e/0xb2
[ 367.629441] RIP: 0033:0x7ff85bea986a
[ 367.629441] RIP: 0033:0x7ff85bea986a
[ 367.630393] RSP: 002b:00007ffdf5773198 EFLAGS: 00000246 ORIG_RAX: 0000000000000009
[ 367.630393] RSP: 002b:00007ffdf5773198 EFLAGS: 00000246 ORIG_RAX: 0000000000000009
[ 367.636458] RAX: ffffffffffffffda RBX: 000055be8ff7e2d0 RCX: 00007ff85bea986a
[ 367.636458] RAX: ffffffffffffffda RBX: 000055be8ff7e2d0 RCX: 00007ff85bea986a
[ 367.638333] RDX: 0000000000000003 RSI: 0000000000001000 RDI: 0000000000000000
[ 367.638333] RDX: 0000000000000003 RSI: 0000000000001000 RDI: 0000000000000000
[ 367.644280] RBP: 000000000000011a R08: 00000000ffffffff R09: 0000000000000000
[ 367.644280] RBP: 000000000000011a R08: 00000000ffffffff R09: 0000000000000000
[ 367.648287] R10: 0000000000000022 R11: 0000000000000246 R12: 000055be8ff845f0
[ 367.648287] R10: 0000000000000022 R11: 0000000000000246 R12: 000055be8ff845f0
[ 367.650172] R13: 0000000000000000 R14: 0000000000000000 R15: 000055be8ffa8520
[ 367.650172] R13: 0000000000000000 R14: 0000000000000000 R15: 000055be8ffa8520
[ 367.656136]
[ 367.656136] Showing all locks held in the system:
[ 367.656136]
[ 367.656136] Showing all locks held in the system:
[ 367.657778] 2 locks held by khungtaskd/20:
[ 367.657778] 2 locks held by khungtaskd/20:
[ 367.658867] #0: (rcu_read_lock){......}, at: [<ffffffff812921b0>] watchdog+0x130/0xab0
[ 367.658867] #0: (rcu_read_lock){......}, at: [<ffffffff812921b0>] watchdog+0x130/0xab0
[ 367.661103] #1: (tasklist_lock){......}, at: [<ffffffff811c3d4b>] debug_show_all_locks+0x4b/0x1f0
[ 367.661103] #1: (tasklist_lock){......}, at: [<ffffffff811c3d4b>] debug_show_all_locks+0x4b/0x1f0
[ 367.663503] 2 locks held by udevd/304:
[ 367.663503] 2 locks held by udevd/304:
[ 367.664584] #0: (&mm->mmap_sem){......}, at: [<ffffffff8137f1c7>] vm_mmap_pgoff+0x57/0x130
[ 367.664584] #0: (&mm->mmap_sem){......}, at: [<ffffffff8137f1c7>] vm_mmap_pgoff+0x57/0x130
[ 367.666859] #1: (&anon_vma->rwsem){......}, at: [<ffffffff813bce1d>] validate_mm+0xbd/0x660
[ 367.666859] #1: (&anon_vma->rwsem){......}, at: [<ffffffff813bce1d>] validate_mm+0xbd/0x660
[ 367.669220] 2 locks held by udevd/316:
[ 367.669220] 2 locks held by udevd/316:
[ 367.670215] #0: (&mm->mmap_sem){......}, at: [<ffffffff813c6138>] SyS_munmap+0x48/0xb0
[ 367.670215] #0: (&mm->mmap_sem){......}, at: [<ffffffff813c6138>] SyS_munmap+0x48/0xb0
[ 367.674015] #1: (&anon_vma->rwsem){......}, at: [<ffffffff813bce1d>] validate_mm+0xbd/0x660
[ 367.674015] #1: (&anon_vma->rwsem){......}, at: [<ffffffff813bce1d>] validate_mm+0xbd/0x660
[ 367.676462] 2 locks held by udevd/331:
[ 367.676462] 2 locks held by udevd/331:
[ 367.677460] #0: (&mm->mmap_sem){......}, at: [<ffffffff8137f1c7>] vm_mmap_pgoff+0x57/0x130
[ 367.677460] #0: (&mm->mmap_sem){......}, at: [<ffffffff8137f1c7>] vm_mmap_pgoff+0x57/0x130
[ 367.679681] #1: (&anon_vma->rwsem){......}, at: [<ffffffff813bce1d>] validate_mm+0xbd/0x660
[ 367.679681] #1: (&anon_vma->rwsem){......}, at: [<ffffffff813bce1d>] validate_mm+0xbd/0x660
[ 367.682054] 2 locks held by trinity-main/340:
[ 367.682054] 2 locks held by trinity-main/340:
[ 367.683204] #0: (&sb->s_type->i_mutex_key){......}, at: [<ffffffff81476874>] iterate_dir+0x164/0x470
[ 367.683204] #0: (&sb->s_type->i_mutex_key){......}, at: [<ffffffff81476874>] iterate_dir+0x164/0x470
[ 367.685731] #1: (&mm->mmap_sem){......}, at: [<ffffffff81564511>] proc_map_files_readdir+0x391/0x7f0
[ 367.685731] #1: (&mm->mmap_sem){......}, at: [<ffffffff81564511>] proc_map_files_readdir+0x391/0x7f0
[ 367.688349] 1 lock held by killall5/362:
[ 367.688349] 1 lock held by killall5/362:
[ 367.689396] #0: (&mm->mmap_sem){......}, at: [<ffffffff81561f25>] proc_pid_cmdline_read+0x225/0xc60
[ 367.689396] #0: (&mm->mmap_sem){......}, at: [<ffffffff81561f25>] proc_pid_cmdline_read+0x225/0xc60
[ 367.691826]
[ 367.691826]
[ 367.692335] =============================================
[ 367.692335]
[ 367.692335] =============================================
[ 367.692335]
[ 367.694138] NMI backtrace for cpu 1
[ 367.694138] NMI backtrace for cpu 1
[ 367.695068] CPU: 1 PID: 20 Comm: khungtaskd Not tainted 4.10.0-02694-ga37748a #1
[ 367.695068] CPU: 1 PID: 20 Comm: khungtaskd Not tainted 4.10.0-02694-ga37748a #1
[ 367.696317] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.9.3-20161025_171302-gandalf 04/01/2014
[ 367.696317] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.9.3-20161025_171302-gandalf 04/01/2014
[ 367.696317] Call Trace:
[ 367.696317] Call Trace:
[ 367.696317] dump_stack+0xd5/0x113
[ 367.696317] dump_stack+0xd5/0x113
[ 367.696317] nmi_cpu_backtrace+0x242/0x270
[ 367.696317] nmi_cpu_backtrace+0x242/0x270
[ 367.696317] ? irq_force_complete_move+0x3f0/0x3f0
[ 367.696317] ? irq_force_complete_move+0x3f0/0x3f0
[ 367.696317] nmi_trigger_cpumask_backtrace+0x31e/0x390
[ 367.696317] nmi_trigger_cpumask_backtrace+0x31e/0x390
[ 367.696317] arch_trigger_cpumask_backtrace+0x19/0x20
[ 367.696317] arch_trigger_cpumask_backtrace+0x19/0x20
[ 367.696317] watchdog+0x948/0xab0
[ 367.696317] watchdog+0x948/0xab0
[ 367.696317] ? watchdog+0x130/0xab0
[ 367.696317] ? watchdog+0x130/0xab0
[ 367.696317] kthread+0x27b/0x280
[ 367.696317] kthread+0x27b/0x280
[ 367.696317] ? hung_task_panic+0x20/0x20
[ 367.696317] ? hung_task_panic+0x20/0x20
[ 367.696317] ? __kthread_create_on_node+0x3a0/0x3a0
[ 367.696317] ? __kthread_create_on_node+0x3a0/0x3a0
[ 367.696317] ret_from_fork+0x2c/0x40
[ 367.696317] ret_from_fork+0x2c/0x40
[ 367.712765] Sending NMI from CPU 1 to CPUs 0:
[ 367.712765] Sending NMI from CPU 1 to CPUs 0:
[ 367.713956] NMI backtrace for cpu 0 skipped: idling at pc 0xffffffff82f46c66
[ 367.713956] NMI backtrace for cpu 0 skipped: idling at pc 0xffffffff82f46c66
[ 367.715823] Kernel panic - not syncing: hung_task: blocked tasks
[ 367.715823] Kernel panic - not syncing: hung_task: blocked tasks
[ 367.716714] CPU: 1 PID: 20 Comm: khungtaskd Not tainted 4.10.0-02694-ga37748a #1
[ 367.716714] CPU: 1 PID: 20 Comm: khungtaskd Not tainted 4.10.0-02694-ga37748a #1
[ 367.716714] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.9.3-20161025_171302-gandalf 04/01/2014
[ 367.716714] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.9.3-20161025_171302-gandalf 04/01/2014
[ 367.716714] Call Trace:
[ 367.716714] Call Trace:
[ 367.716714] dump_stack+0xd5/0x113
[ 367.716714] dump_stack+0xd5/0x113
[ 367.716714] panic+0x18b/0x413
[ 367.716714] panic+0x18b/0x413
[ 367.716714] ? printk_nmi_flush+0x54/0x160
[ 367.716714] ? printk_nmi_flush+0x54/0x160
[ 367.716714] watchdog+0x95b/0xab0
[ 367.716714] watchdog+0x95b/0xab0
[ 367.716714] ? watchdog+0x130/0xab0
[ 367.716714] ? watchdog+0x130/0xab0
[ 367.716714] kthread+0x27b/0x280
[ 367.716714] kthread+0x27b/0x280
[ 367.716714] ? hung_task_panic+0x20/0x20
[ 367.716714] ? hung_task_panic+0x20/0x20
[ 367.716714] ? __kthread_create_on_node+0x3a0/0x3a0
[ 367.716714] ? __kthread_create_on_node+0x3a0/0x3a0
[ 367.716714] ret_from_fork+0x2c/0x40
[ 367.716714] ret_from_fork+0x2c/0x40
[ 367.716714] Kernel Offset: disabled
[ 367.716714] Kernel Offset: disabled
git bisect start 831b1e44a7e9e209c65506a86a120ea2156aee5f c470abd4fde40ea6a0846a2beab642a578c0b8cd --
git bisect bad a37748add0fa56e04c78ef2860f76eb894444164 # 17:58 0- 2 Merge 'dax/wlist' into devel-catchup-201702222304
git bisect good 953facbe4bd24d3d18d87a2ba4e3341042e9a5a2 # 19:22 30+ 0 0day base guard for 'devel-catchup-201702222304'
git bisect good fa1fcf710e24af3bb27aab81a5ae3584554e0dba # 20:06 31+ 1 Merge 'linux-review/Bartosz-Golaszewski/ARM-davinci-vpif-capture-display-support/20170222-221850' into devel-catchup-201702222304
git bisect good 04fe36bd995189aacf44890ae85a59a04afb3114 # 12:31 30+ 34 Convert mutexes to use waitlists
git bisect good 947a7ea93f3d85ddc885b02550ce263f15921544 # 00:10 30+ 34 Convert semaphores to use waitlists
# first bad commit: [a37748add0fa56e04c78ef2860f76eb894444164] Merge 'dax/wlist' into devel-catchup-201702222304
git bisect good fa1fcf710e24af3bb27aab81a5ae3584554e0dba # 00:36 94+ 1 Merge 'linux-review/Bartosz-Golaszewski/ARM-davinci-vpif-capture-display-support/20170222-221850' into devel-catchup-201702222304
git bisect good 947a7ea93f3d85ddc885b02550ce263f15921544 # 13:11 93+ 129 Convert semaphores to use waitlists
# extra tests with CONFIG_DEBUG_INFO_REDUCED
git bisect bad a37748add0fa56e04c78ef2860f76eb894444164 # 13:33 2- 5 Merge 'dax/wlist' into devel-catchup-201702222304
# extra tests on HEAD of linux-devel/devel-catchup-201702222304
git bisect bad 831b1e44a7e9e209c65506a86a120ea2156aee5f # 13:33 0- 14 0day head guard for 'devel-catchup-201702222304'
# extra tests on tree/branch linux-devel/devel-catchup-201702222304
git bisect bad 831b1e44a7e9e209c65506a86a120ea2156aee5f # 13:39 0- 14 0day head guard for 'devel-catchup-201702222304'
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/lkp Intel Corporation
5 years, 2 months
[PATCH v3] [media] serial_ir: ensure we're ready to receive interrupts
by Mauro Carvalho Chehab
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
From: Sean Young <sean(a)mess.org>
When the interrupt requested with devm_request_irq(), serial_ir.rcdev
is still null so will cause null deference if the irq handler is called
early on.
Also ensure that timeout_timer is setup.
Link: http://lkml.kernel.org/r/CA+55aFxsh2uF8gi5sN_guY3Z+tiLv7LpJYKBw+y8vqLzp+T...
[mchehab(a)s-opensource.com: moved serial_ir_probe() back to its original place]
Cc: <stable(a)vger.kernel.org> # 4.10
Signed-off-by: Sean Young <sean(a)mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab(a)s-opensource.com>
- - ---
drivers/media/rc/serial_ir.c | 123 ++++++++++++++++++++++---------------------
1 file changed, 62 insertions(+), 61 deletions(-)
diff --git a/drivers/media/rc/serial_ir.c b/drivers/media/rc/serial_ir.c
index 923fb2299553..41b54e40176c 100644
- - --- a/drivers/media/rc/serial_ir.c
+++ b/drivers/media/rc/serial_ir.c
@@ -487,10 +487,69 @@ static void serial_ir_timeout(unsigned long arg)
ir_raw_event_handle(serial_ir.rcdev);
}
+/* Needed by serial_ir_probe() */
+static int serial_ir_tx(struct rc_dev *dev, unsigned int *txbuf,
+ unsigned int count);
+static int serial_ir_tx_duty_cycle(struct rc_dev *dev, u32 cycle);
+static int serial_ir_tx_carrier(struct rc_dev *dev, u32 carrier);
+static int serial_ir_open(struct rc_dev *rcdev);
+static void serial_ir_close(struct rc_dev *rcdev);
+
static int serial_ir_probe(struct platform_device *dev)
{
+ struct rc_dev *rcdev;
int i, nlow, nhigh, result;
+ rcdev = devm_rc_allocate_device(&dev->dev, RC_DRIVER_IR_RAW);
+ if (!rcdev)
+ return -ENOMEM;
+
+ if (hardware[type].send_pulse && hardware[type].send_space)
+ rcdev->tx_ir = serial_ir_tx;
+ if (hardware[type].set_send_carrier)
+ rcdev->s_tx_carrier = serial_ir_tx_carrier;
+ if (hardware[type].set_duty_cycle)
+ rcdev->s_tx_duty_cycle = serial_ir_tx_duty_cycle;
+
+ switch (type) {
+ case IR_HOMEBREW:
+ rcdev->input_name = "Serial IR type home-brew";
+ break;
+ case IR_IRDEO:
+ rcdev->input_name = "Serial IR type IRdeo";
+ break;
+ case IR_IRDEO_REMOTE:
+ rcdev->input_name = "Serial IR type IRdeo remote";
+ break;
+ case IR_ANIMAX:
+ rcdev->input_name = "Serial IR type AnimaX";
+ break;
+ case IR_IGOR:
+ rcdev->input_name = "Serial IR type IgorPlug";
+ break;
+ }
+
+ rcdev->input_phys = KBUILD_MODNAME "/input0";
+ rcdev->input_id.bustype = BUS_HOST;
+ rcdev->input_id.vendor = 0x0001;
+ rcdev->input_id.product = 0x0001;
+ rcdev->input_id.version = 0x0100;
+ rcdev->open = serial_ir_open;
+ rcdev->close = serial_ir_close;
+ rcdev->dev.parent = &serial_ir.pdev->dev;
+ rcdev->allowed_protocols = RC_BIT_ALL_IR_DECODER;
+ rcdev->driver_name = KBUILD_MODNAME;
+ rcdev->map_name = RC_MAP_RC6_MCE;
+ rcdev->min_timeout = 1;
+ rcdev->timeout = IR_DEFAULT_TIMEOUT;
+ rcdev->max_timeout = 10 * IR_DEFAULT_TIMEOUT;
+ rcdev->rx_resolution = 250000;
+
+ serial_ir.rcdev = rcdev;
+
+ setup_timer(&serial_ir.timeout_timer, serial_ir_timeout,
+ (unsigned long)&serial_ir);
+
result = devm_request_irq(&dev->dev, irq, serial_ir_irq_handler,
share_irq ? IRQF_SHARED : 0,
KBUILD_MODNAME, &hardware);
@@ -516,9 +575,6 @@ static int serial_ir_probe(struct platform_device *dev)
return -EBUSY;
}
- - - setup_timer(&serial_ir.timeout_timer, serial_ir_timeout,
- - - (unsigned long)&serial_ir);
- - -
result = hardware_init_port();
if (result < 0)
return result;
@@ -552,7 +608,8 @@ static int serial_ir_probe(struct platform_device *dev)
sense ? "low" : "high");
dev_dbg(&dev->dev, "Interrupt %d, port %04x obtained\n", irq, io);
- - - return 0;
+
+ return devm_rc_register_device(&dev->dev, rcdev);
}
static int serial_ir_open(struct rc_dev *rcdev)
@@ -723,7 +780,6 @@ static void serial_ir_exit(void)
static int __init serial_ir_init_module(void)
{
- - - struct rc_dev *rcdev;
int result;
switch (type) {
@@ -754,63 +810,9 @@ static int __init serial_ir_init_module(void)
sense = !!sense;
result = serial_ir_init();
- - - if (result)
- - - return result;
- - -
- - - rcdev = devm_rc_allocate_device(&serial_ir.pdev->dev, RC_DRIVER_IR_RAW);
- - - if (!rcdev) {
- - - result = -ENOMEM;
- - - goto serial_cleanup;
- - - }
- - -
- - - if (hardware[type].send_pulse && hardware[type].send_space)
- - - rcdev->tx_ir = serial_ir_tx;
- - - if (hardware[type].set_send_carrier)
- - - rcdev->s_tx_carrier = serial_ir_tx_carrier;
- - - if (hardware[type].set_duty_cycle)
- - - rcdev->s_tx_duty_cycle = serial_ir_tx_duty_cycle;
- - -
- - - switch (type) {
- - - case IR_HOMEBREW:
- - - rcdev->input_name = "Serial IR type home-brew";
- - - break;
- - - case IR_IRDEO:
- - - rcdev->input_name = "Serial IR type IRdeo";
- - - break;
- - - case IR_IRDEO_REMOTE:
- - - rcdev->input_name = "Serial IR type IRdeo remote";
- - - break;
- - - case IR_ANIMAX:
- - - rcdev->input_name = "Serial IR type AnimaX";
- - - break;
- - - case IR_IGOR:
- - - rcdev->input_name = "Serial IR type IgorPlug";
- - - break;
- - - }
- - -
- - - rcdev->input_phys = KBUILD_MODNAME "/input0";
- - - rcdev->input_id.bustype = BUS_HOST;
- - - rcdev->input_id.vendor = 0x0001;
- - - rcdev->input_id.product = 0x0001;
- - - rcdev->input_id.version = 0x0100;
- - - rcdev->open = serial_ir_open;
- - - rcdev->close = serial_ir_close;
- - - rcdev->dev.parent = &serial_ir.pdev->dev;
- - - rcdev->allowed_protocols = RC_BIT_ALL_IR_DECODER;
- - - rcdev->driver_name = KBUILD_MODNAME;
- - - rcdev->map_name = RC_MAP_RC6_MCE;
- - - rcdev->min_timeout = 1;
- - - rcdev->timeout = IR_DEFAULT_TIMEOUT;
- - - rcdev->max_timeout = 10 * IR_DEFAULT_TIMEOUT;
- - - rcdev->rx_resolution = 250000;
- - -
- - - serial_ir.rcdev = rcdev;
- - -
- - - result = rc_register_device(rcdev);
- - -
if (!result)
return 0;
- - -serial_cleanup:
+
serial_ir_exit();
return result;
}
@@ -818,7 +820,6 @@ static int __init serial_ir_init_module(void)
static void __exit serial_ir_exit_module(void)
{
del_timer_sync(&serial_ir.timeout_timer);
- - - rc_unregister_device(serial_ir.rcdev);
serial_ir_exit();
}
- - --
2.9.3
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAEBCAAGBQJYsZhEAAoJEAhfPr2O5OEV2l8P/i0jyikTsOC4NaCsImBhVsM5
sdgjy+wib+hCwdn9HDORxFq7P0ZyKSErkRnHIZSiqu1q4S9Q+Xa5h93taEdZi38H
2Ain5rB40y7eXgsssU9APHin89HmdT9XWKS7pAEE16mKhiiuu0cgFd+LngDypjNQ
s5YlzfWFsN6ubjS/t2wJpxxyepsKoCtv8smTOfyQZIhwKUcWWC9kJTA77ubO9egr
ZBFzsvw0XbEjW8cui4EEuduozD9K1OrSsCib+NK2NMU0luYy9YtsUtjN5Ozu1e6t
J5QOdsJl0aqLPfEk8TW3++55MaK9LUgE6aaCdntbek5cZmgsk3ad79kDP8gSdxAV
VUXDEPZQpJXedA6S/bAmXUbEW7mVHH9ALYSa8AGXCArKKtz+5iXNP0+83JoFGEHb
tTCGInNfsBHd8/NqdW/u/ugGVj4xt0Kc+4oOPYecjO2tiCS+lpKWIDw9bOcaR4/0
w+zbCmIEmBZ74lM0ys+TmCmDGwXC2QYEqY0U+9ZZcsy+7bMcxJH6slrjfaa6fJa0
j2OU2qB0VnUTJq0a0O8IL7s5jQn1lKNpmG9TKYNntCzBuHbasL2rsr+Jrr6vpMKU
vYbpRapoAnIXaUW708bdtA2x7/JfiLj9M7KvYJfeFAt9HGHeXq1HJsaGjix1mZh3
nL/68Fqc2Scurbzq/C7Z
=Apye
-----END PGP SIGNATURE-----
5 years, 2 months
Re: [LKP] [PATCH] [media] serial_ir: ensure we're ready to receive interrupts
by Mauro Carvalho Chehab
Em Sat, 25 Feb 2017 11:28:16 +0000
Sean Young <sean(a)mess.org> escreveu:
> When the interrupt requested with devm_request_irq(), serial_ir.rcdev
> is still null so will cause null deference if the irq handler is called
> early on.
>
> Also ensure that timeout_timer is setup.
>
> Link: http://lkml.kernel.org/r/CA+55aFxsh2uF8gi5sN_guY3Z+tiLv7LpJYKBw+y8vqLzp+T...
>
> Cc: <stable(a)vger.kernel.org> # 4.10
> Signed-off-by: Sean Young <sean(a)mess.org>
> ---
> drivers/media/rc/serial_ir.c | 243 +++++++++++++++++++++----------------------
> 1 file changed, 118 insertions(+), 125 deletions(-)
>
> diff --git a/drivers/media/rc/serial_ir.c b/drivers/media/rc/serial_ir.c
> index 923fb22..22144b4 100644
> --- a/drivers/media/rc/serial_ir.c
> +++ b/drivers/media/rc/serial_ir.c
> @@ -487,74 +487,6 @@ static void serial_ir_timeout(unsigned long arg)
> ir_raw_event_handle(serial_ir.rcdev);
> }
>
> -static int serial_ir_probe(struct platform_device *dev)
> -{
> - int i, nlow, nhigh, result;
Hmm... why did you move this function to be after serial_ir_open()?
That messes with the diff without no good reason, making harder to
identify what you changed here.
> -
> - result = devm_request_irq(&dev->dev, irq, serial_ir_irq_handler,
> - share_irq ? IRQF_SHARED : 0,
> - KBUILD_MODNAME, &hardware);
> - if (result < 0) {
> - if (result == -EBUSY)
> - dev_err(&dev->dev, "IRQ %d busy\n", irq);
> - else if (result == -EINVAL)
> - dev_err(&dev->dev, "Bad irq number or handler\n");
> - return result;
> - }
> -
> - /* Reserve io region. */
> - if ((iommap &&
> - (devm_request_mem_region(&dev->dev, iommap, 8 << ioshift,
> - KBUILD_MODNAME) == NULL)) ||
> - (!iommap && (devm_request_region(&dev->dev, io, 8,
> - KBUILD_MODNAME) == NULL))) {
> - dev_err(&dev->dev, "port %04x already in use\n", io);
> - dev_warn(&dev->dev, "use 'setserial /dev/ttySX uart none'\n");
> - dev_warn(&dev->dev,
> - "or compile the serial port driver as module and\n");
> - dev_warn(&dev->dev, "make sure this module is loaded first\n");
> - return -EBUSY;
> - }
> -
> - setup_timer(&serial_ir.timeout_timer, serial_ir_timeout,
> - (unsigned long)&serial_ir);
> -
> - result = hardware_init_port();
> - if (result < 0)
> - return result;
> -
> - /* Initialize pulse/space widths */
> - init_timing_params(50, 38000);
> -
> - /* If pin is high, then this must be an active low receiver. */
> - if (sense == -1) {
> - /* wait 1/2 sec for the power supply */
> - msleep(500);
> -
> - /*
> - * probe 9 times every 0.04s, collect "votes" for
> - * active high/low
> - */
> - nlow = 0;
> - nhigh = 0;
> - for (i = 0; i < 9; i++) {
> - if (sinp(UART_MSR) & hardware[type].signal_pin)
> - nlow++;
> - else
> - nhigh++;
> - msleep(40);
> - }
> - sense = nlow >= nhigh ? 1 : 0;
> - dev_info(&dev->dev, "auto-detected active %s receiver\n",
> - sense ? "low" : "high");
> - } else
> - dev_info(&dev->dev, "Manually using active %s receiver\n",
> - sense ? "low" : "high");
> -
> - dev_dbg(&dev->dev, "Interrupt %d, port %04x obtained\n", irq, io);
> - return 0;
> -}
> -
> static int serial_ir_open(struct rc_dev *rcdev)
> {
> unsigned long flags;
> @@ -679,6 +611,123 @@ static int serial_ir_resume(struct platform_device *dev)
> return 0;
> }
>
> +static int serial_ir_probe(struct platform_device *dev)
> +{
> + struct rc_dev *rcdev;
> + int i, nlow, nhigh, result;
> +
> + rcdev = devm_rc_allocate_device(&dev->dev, RC_DRIVER_IR_RAW);
> + if (!rcdev)
> + return -ENOMEM;
> +
> + if (hardware[type].send_pulse && hardware[type].send_space)
> + rcdev->tx_ir = serial_ir_tx;
> + if (hardware[type].set_send_carrier)
> + rcdev->s_tx_carrier = serial_ir_tx_carrier;
> + if (hardware[type].set_duty_cycle)
> + rcdev->s_tx_duty_cycle = serial_ir_tx_duty_cycle;
> +
> + switch (type) {
> + case IR_HOMEBREW:
> + rcdev->input_name = "Serial IR type home-brew";
> + break;
> + case IR_IRDEO:
> + rcdev->input_name = "Serial IR type IRdeo";
> + break;
> + case IR_IRDEO_REMOTE:
> + rcdev->input_name = "Serial IR type IRdeo remote";
> + break;
> + case IR_ANIMAX:
> + rcdev->input_name = "Serial IR type AnimaX";
> + break;
> + case IR_IGOR:
> + rcdev->input_name = "Serial IR type IgorPlug";
> + break;
> + }
> +
> + rcdev->input_phys = KBUILD_MODNAME "/input0";
> + rcdev->input_id.bustype = BUS_HOST;
> + rcdev->input_id.vendor = 0x0001;
> + rcdev->input_id.product = 0x0001;
> + rcdev->input_id.version = 0x0100;
> + rcdev->open = serial_ir_open;
> + rcdev->close = serial_ir_close;
> + rcdev->dev.parent = &serial_ir.pdev->dev;
> + rcdev->allowed_protocols = RC_BIT_ALL_IR_DECODER;
> + rcdev->driver_name = KBUILD_MODNAME;
> + rcdev->map_name = RC_MAP_RC6_MCE;
> + rcdev->min_timeout = 1;
> + rcdev->timeout = IR_DEFAULT_TIMEOUT;
> + rcdev->max_timeout = 10 * IR_DEFAULT_TIMEOUT;
> + rcdev->rx_resolution = 250000;
> +
> + serial_ir.rcdev = rcdev;
> +
> + setup_timer(&serial_ir.timeout_timer, serial_ir_timeout,
> + (unsigned long)&serial_ir);
> +
> + result = devm_request_irq(&dev->dev, irq, serial_ir_irq_handler,
> + share_irq ? IRQF_SHARED : 0,
> + KBUILD_MODNAME, &hardware);
> + if (result < 0) {
> + if (result == -EBUSY)
> + dev_err(&dev->dev, "IRQ %d busy\n", irq);
> + else if (result == -EINVAL)
> + dev_err(&dev->dev, "Bad irq number or handler\n");
> + return result;
> + }
> +
> + /* Reserve io region. */
> + if ((iommap &&
> + (devm_request_mem_region(&dev->dev, iommap, 8 << ioshift,
> + KBUILD_MODNAME) == NULL)) ||
> + (!iommap && (devm_request_region(&dev->dev, io, 8,
> + KBUILD_MODNAME) == NULL))) {
> + dev_err(&dev->dev, "port %04x already in use\n", io);
> + dev_warn(&dev->dev, "use 'setserial /dev/ttySX uart none'\n");
> + dev_warn(&dev->dev,
> + "or compile the serial port driver as module and\n");
> + dev_warn(&dev->dev, "make sure this module is loaded first\n");
> + return -EBUSY;
> + }
> +
> + result = hardware_init_port();
> + if (result < 0)
> + return result;
> +
> + /* Initialize pulse/space widths */
> + init_timing_params(50, 38000);
> +
> + /* If pin is high, then this must be an active low receiver. */
> + if (sense == -1) {
> + /* wait 1/2 sec for the power supply */
> + msleep(500);
> +
> + /*
> + * probe 9 times every 0.04s, collect "votes" for
> + * active high/low
> + */
> + nlow = 0;
> + nhigh = 0;
> + for (i = 0; i < 9; i++) {
> + if (sinp(UART_MSR) & hardware[type].signal_pin)
> + nlow++;
> + else
> + nhigh++;
> + msleep(40);
> + }
> + sense = nlow >= nhigh ? 1 : 0;
> + dev_info(&dev->dev, "auto-detected active %s receiver\n",
> + sense ? "low" : "high");
> + } else
> + dev_info(&dev->dev, "Manually using active %s receiver\n",
> + sense ? "low" : "high");
> +
> + dev_dbg(&dev->dev, "Interrupt %d, port %04x obtained\n", irq, io);
> +
> + return devm_rc_register_device(&dev->dev, rcdev);
> +}
> +
> static struct platform_driver serial_ir_driver = {
> .probe = serial_ir_probe,
> .suspend = serial_ir_suspend,
> @@ -723,7 +772,6 @@ static void serial_ir_exit(void)
>
> static int __init serial_ir_init_module(void)
> {
> - struct rc_dev *rcdev;
> int result;
>
> switch (type) {
> @@ -754,63 +802,9 @@ static int __init serial_ir_init_module(void)
> sense = !!sense;
>
> result = serial_ir_init();
> - if (result)
> - return result;
> -
> - rcdev = devm_rc_allocate_device(&serial_ir.pdev->dev, RC_DRIVER_IR_RAW);
> - if (!rcdev) {
> - result = -ENOMEM;
> - goto serial_cleanup;
> - }
> -
> - if (hardware[type].send_pulse && hardware[type].send_space)
> - rcdev->tx_ir = serial_ir_tx;
> - if (hardware[type].set_send_carrier)
> - rcdev->s_tx_carrier = serial_ir_tx_carrier;
> - if (hardware[type].set_duty_cycle)
> - rcdev->s_tx_duty_cycle = serial_ir_tx_duty_cycle;
> -
> - switch (type) {
> - case IR_HOMEBREW:
> - rcdev->input_name = "Serial IR type home-brew";
> - break;
> - case IR_IRDEO:
> - rcdev->input_name = "Serial IR type IRdeo";
> - break;
> - case IR_IRDEO_REMOTE:
> - rcdev->input_name = "Serial IR type IRdeo remote";
> - break;
> - case IR_ANIMAX:
> - rcdev->input_name = "Serial IR type AnimaX";
> - break;
> - case IR_IGOR:
> - rcdev->input_name = "Serial IR type IgorPlug";
> - break;
> - }
> -
> - rcdev->input_phys = KBUILD_MODNAME "/input0";
> - rcdev->input_id.bustype = BUS_HOST;
> - rcdev->input_id.vendor = 0x0001;
> - rcdev->input_id.product = 0x0001;
> - rcdev->input_id.version = 0x0100;
> - rcdev->open = serial_ir_open;
> - rcdev->close = serial_ir_close;
> - rcdev->dev.parent = &serial_ir.pdev->dev;
> - rcdev->allowed_protocols = RC_BIT_ALL_IR_DECODER;
> - rcdev->driver_name = KBUILD_MODNAME;
> - rcdev->map_name = RC_MAP_RC6_MCE;
> - rcdev->min_timeout = 1;
> - rcdev->timeout = IR_DEFAULT_TIMEOUT;
> - rcdev->max_timeout = 10 * IR_DEFAULT_TIMEOUT;
> - rcdev->rx_resolution = 250000;
> -
> - serial_ir.rcdev = rcdev;
> -
> - result = rc_register_device(rcdev);
> -
> if (!result)
> return 0;
> -serial_cleanup:
> +
> serial_ir_exit();
> return result;
> }
> @@ -818,7 +812,6 @@ static int __init serial_ir_init_module(void)
> static void __exit serial_ir_exit_module(void)
> {
> del_timer_sync(&serial_ir.timeout_timer);
> - rc_unregister_device(serial_ir.rcdev);
> serial_ir_exit();
> }
>
Thanks,
Mauro
5 years, 2 months
[Merge branch 'core-debugobjects-for-linus' of git] 575260e3f8: WARNING: CPU: 0 PID: 1 at kernel/time/hrtimer.c:1090 hrtimer_init
by kernel test robot
Greetings,
0day kernel testing robot got the below dmesg and the first bad commit is
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
commit 575260e3f8f8ac72dc0c41a4a20190d1a5f2b887
Merge: 1cd4027 0cad93c3
Author: Linus Torvalds <torvalds(a)linux-foundation.org>
AuthorDate: Mon Feb 20 11:19:09 2017 -0800
Commit: Linus Torvalds <torvalds(a)linux-foundation.org>
CommitDate: Mon Feb 20 11:19:09 2017 -0800
Merge branch 'core-debugobjects-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull debugobjects updates from Ingo Molnar:
"A number of scalability improvements by Waimang Long"
* 'core-debugobjects-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
debugobjects: Improve variable naming
debugobjects: Reduce contention on the global pool_lock
debugobjects: Scale thresholds with # of CPUs
debugobjects: Track number of kmem_cache_alloc/kmem_cache_free done
1cd4027cfe Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
0cad93c345 debugobjects: Improve variable naming
575260e3f8 Merge branch 'core-debugobjects-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
+------------------------------------------------+------------+------------+------------+
| | 1cd4027cfe | 0cad93c345 | 575260e3f8 |
+------------------------------------------------+------------+------------+------------+
| boot_successes | 202 | 90 | 0 |
| boot_failures | 0 | 2 | 26 |
| invoked_oom-killer:gfp_mask=0x | 0 | 2 | 1 |
| Mem-Info | 0 | 2 | 1 |
| WARNING:at_kernel/time/hrtimer.c:#hrtimer_init | 0 | 0 | 26 |
+------------------------------------------------+------------+------------+------------+
[ 6.585095] usbcore: registered new interface driver rndis_wlan
[ 6.586060] mac80211_hwsim: initializing netlink
[ 6.587805] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[ 6.589765] ieee80211 phy0: hwaddr 02:00:00:00:00:00 registered
[ 6.590718] ------------[ cut here ]------------
[ 6.591473] WARNING: CPU: 0 PID: 1 at kernel/time/hrtimer.c:1090 hrtimer_init+0x11f/0x199
[ 6.592949] Invalid clockid 4. Using MONOTONIC
[ 6.593646] Modules linked in:
[ 6.594202] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.10.0-00312-g575260e3 #2
[ 6.595371] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.9.3-20161025_171302-gandalf 04/01/2014
[ 6.596852] Call Trace:
[ 6.597330] dump_stack+0x82/0xb8
[ 6.597908] __warn+0xc2/0xdd
[ 6.598446] warn_slowpath_fmt+0x4b/0x53
[ 6.599090] ? lock_is_held_type+0x4b/0x54
[ 6.599748] hrtimer_init+0x11f/0x199
[ 6.600372] ? mac80211_hwsim_get_tsf+0x1d/0x1d
[ 6.601089] tasklet_hrtimer_init+0x1b/0x4f
[ 6.601758] mac80211_hwsim_new_radio+0x7fe/0x916
[ 6.602491] ? set_debug_rodata+0x12/0x12
[ 6.603149] init_mac80211_hwsim+0x138/0x29f
[ 6.603834] ? rndis_wlan_driver_init+0x1b/0x1b
[ 6.604542] do_one_initcall+0x90/0x142
[ 6.605176] ? set_debug_rodata+0x12/0x12
[ 6.605833] kernel_init_freeable+0x1cb/0x258
[ 6.606522] ? rest_init+0x13b/0x13b
[ 6.607126] kernel_init+0xe/0xf5
[ 6.607693] ret_from_fork+0x31/0x40
[ 6.608341] ---[ end trace e131c19313689169 ]---
[ 6.609819] ieee80211 phy1: Selected rate control algorithm 'minstrel_ht'
git bisect start 37c85961c3f87f2141c84e53df31e59db072fd2e v4.10 --
git bisect bad fd4a61e08aa79f2b7835b25c6f94f27bd2d65990 # 03:55 0- 10 sched/core: Fix build paravirt build on arm and arm64
git bisect bad 280d7a1edef214eefb1cb34915c73767355dd1b3 # 04:24 0- 6 Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect bad 32e2d7c8afb35d59fbf7d96619538427568ecb68 # 05:02 0- 3 Merge branch 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect good c9b9f207b90468bf9583f7ed71c15d0142bbf9b1 # 05:06 20+ 1 Merge tag 'for-v4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply
git bisect good 1cd4027cfe33390dc3f442aea8e7caeeeaa861a1 # 07:19 22+ 0 Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect bad 575260e3f8f8ac72dc0c41a4a20190d1a5f2b887 # 07:37 0- 16 Merge branch 'core-debugobjects-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect good 97dd552eb23c83dbf626a6e84666c7e281375d47 # 12:59 22+ 0 debugobjects: Scale thresholds with # of CPUs
git bisect good 0cad93c3453fc9d11692d3924ac3a520821bbf64 # 14:11 22+ 0 debugobjects: Improve variable naming
# first bad commit: [575260e3f8f8ac72dc0c41a4a20190d1a5f2b887] Merge branch 'core-debugobjects-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect good 1cd4027cfe33390dc3f442aea8e7caeeeaa861a1 # 14:16 66+ 0 Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect good 0cad93c3453fc9d11692d3924ac3a520821bbf64 # 14:21 66+ 2 debugobjects: Improve variable naming
# extra tests on HEAD of linux-review/Ming-Lei/MAINTAINERS-update-firmware-loader-entry/20170223-095208
git bisect bad e9a88fe6c1f018d34f582d59734f1e7da31ef9cd # 14:21 0- 21 MAINTAINERS: update firmware loader entry
# extra tests on tree/branch linus/master
git bisect bad f1ef09fde17f9b77ca1435a5b53a28b203afb81c # 14:40 0- 39 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
# extra tests on tree/branch linux-next/master
git bisect bad 27fde840c0aaca31213844b8bc914281cdb101fa # 14:45 0- 26 Add linux-next specific files for 20170223
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/lkp Intel Corporation
5 years, 2 months
[locking/mutex] 3f7a5fb77a: WARNING: CPU: 0 PID: 1 at arch/x86/include/asm/fpu/internal.h:348 __switch_to
by kernel test robot
Greetings,
0day kernel testing robot got the below dmesg and the first bad commit is
git://anongit.freedesktop.org/drm-intel topic/core-for-CI
commit 3f7a5fb77af4f5b38e514b85d491da0046d6bfb8
Author: Peter Zijlstra <peterz(a)infradead.org>
AuthorDate: Wed Jan 11 17:43:02 2017 +0100
Commit: Daniel Vetter <daniel.vetter(a)ffwll.ch>
CommitDate: Mon Feb 6 10:04:48 2017 +0100
locking/mutex: Clear mutex-handoff flag on interrupt
On Mon, Jan 09, 2017 at 11:52:03AM +0000, Chris Wilson wrote:
> If we abort the mutex_lock() due to an interrupt, or other error from
s/interrupt/signal/, right?
> ww_mutex, we need to relinquish the handoff flag if we applied it.
> Otherwise, we may cause missed wakeups as the current owner may try to
> handoff to a new thread that is not expecting the handoff and so sleep
> thinking the lock is already claimed (and since the owner unlocked there
> may never be a new wakeup).
Isn't that the exact same scenario as Nicolai fixed here:
http://lkml.kernel.org/r/1482346000-9927-3-git-send-email-nhaehnle@gmail.com
Did you, like Nicolai, find this by inspection, or can you reproduce?
FWIW, I have the below patch that should also solve this problem afaict.
d790812fa2 mm/vmalloc: Replace opencoded 4-level page walkers
3f7a5fb77a locking/mutex: Clear mutex-handoff flag on interrupt
+--------------------------------------------------------------+------------+------------+
| | d790812fa2 | 3f7a5fb77a |
+--------------------------------------------------------------+------------+------------+
| boot_successes | 174 | 3 |
| boot_failures | 0 | 6 |
| invoked_oom-killer:gfp_mask=0x | 0 | 1 |
| Mem-Info | 0 | 1 |
| WARNING:at_arch/x86/include/asm/fpu/internal.h:#__switch_to | 0 | 5 |
| WARNING:at_arch/x86/include/asm/fpu/internal.h:#fpu__copy | 0 | 5 |
| WARNING:at_arch/x86/include/asm/fpu/internal.h:#fpu__restore | 0 | 5 |
+--------------------------------------------------------------+------------+------------+
[ 3.682260] ### dt-test ### end of unittest - 149 passed, 0 failed
[ 16.196304] Freeing unused kernel memory: 976K
[ 16.198261] Write protecting the kernel text: 12980k
[ 16.200258] Write protecting the kernel read-only data: 3808k
[ 16.203781] ------------[ cut here ]------------
[ 16.205683] WARNING: CPU: 0 PID: 1 at arch/x86/include/asm/fpu/internal.h:348 __switch_to+0x32b/0x350
[ 16.208506] Modules linked in:
[ 16.210235] CPU: 0 PID: 1 Comm: init Tainted: G S 4.10.0-rc7-00002-g3f7a5fb #1
[ 16.214583] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.9.3-20161025_171302-gandalf 04/01/2014
[ 16.217474] Call Trace:
[ 16.219571] ---[ end trace b0ed16ad1b787fda ]---
[ 16.227887] ------------[ cut here ]------------
[ 16.227887] ------------[ cut here ]------------
[ 16.229927] WARNING: CPU: 0 PID: 132 at arch/x86/include/asm/fpu/internal.h:363 __switch_to+0x303/0x350
[ 16.233012] Modules linked in:
[ 16.234867] CPU: 0 PID: 132 Comm: rc.local Tainted: G S W 4.10.0-rc7-00002-g3f7a5fb #1
[ 16.238180] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.9.3-20161025_171302-gandalf 04/01/2014
[ 16.241092] Call Trace:
[ 16.242936] ---[ end trace b0ed16ad1b787fdb ]---
[ 16.246981] ------------[ cut here ]------------
[ 16.246981] ------------[ cut here ]------------
[ 16.249093] WARNING: CPU: 0 PID: 132 at arch/x86/include/asm/fpu/internal.h:348 fpu__copy+0x183/0x2d0
[ 16.252242] Modules linked in:
[ 16.255251] CPU: 0 PID: 132 Comm: rc.local Tainted: G S W 4.10.0-rc7-00002-g3f7a5fb #1
[ 16.258238] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.9.3-20161025_171302-gandalf 04/01/2014
[ 16.261230] Call Trace:
[ 16.263287] dump_stack+0x16/0x1d
[ 16.265308] __warn+0xd9/0x100
[ 16.267624] ? fpu__copy+0x183/0x2d0
[ 16.269672] warn_slowpath_null+0x2a/0x30
[ 16.271895] fpu__copy+0x183/0x2d0
[ 16.274107] arch_dup_task_struct+0x34/0x40
[ 16.276322] copy_process+0xec/0x1410
[ 16.278587] ? __might_sleep+0x32/0xa0
[ 16.280642] ? __might_sleep+0x32/0xa0
[ 16.282811] _do_fork+0xda/0x340
[ 16.284735] ? _copy_to_user+0x4e/0x80
[ 16.286880] SyS_clone+0x2c/0x30
[ 16.288722] do_int80_syscall_32+0x5b/0xc0
[ 16.290793] entry_INT80_32+0x31/0x31
[ 16.292675] EIP: 0xb76f21b2
[ 16.294474] EFLAGS: 00000286 CPU: 0
[ 16.296356] EAX: ffffffda EBX: 01200011 ECX: 00000000 EDX: 00000000
[ 16.298685] ESI: 00000000 EDI: b7522728 EBP: bfc98a08 ESP: bfc989ac
[ 16.300922] DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 007b
[ 16.303165] ---[ end trace b0ed16ad1b787fdc ]---
[ 16.307565] ------------[ cut here ]------------
[ 16.307565] ------------[ cut here ]------------
[ 16.309524] WARNING: CPU: 0 PID: 1 at arch/x86/include/asm/fpu/internal.h:363 fpu__restore+0x1d3/0x1e0
[ 16.312573] Modules linked in:
[ 16.314539] CPU: 0 PID: 1 Comm: init Tainted: G S W 4.10.0-rc7-00002-g3f7a5fb #1
[ 16.317147] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.9.3-20161025_171302-gandalf 04/01/2014
[ 16.320117] Call Trace:
[ 16.322080] dump_stack+0x16/0x1d
[ 16.324886] __warn+0xd9/0x100
[ 16.326912] ? fpu__restore+0x1d3/0x1e0
[ 16.328932] warn_slowpath_null+0x2a/0x30
[ 16.330823] fpu__restore+0x1d3/0x1e0
[ 16.332703] __fpu__restore_sig+0x1dc/0x5c0
[ 16.334579] fpu__restore_sig+0x2f/0x50
[ 16.336455] restore_sigcontext+0xe5/0x100
[ 16.338370] sys_sigreturn+0xaa/0xe0
[ 16.340214] do_int80_syscall_32+0x5b/0xc0
[ 16.342001] entry_INT80_32+0x31/0x31
[ 16.343718] EIP: 0xb77421b0
[ 16.345258] EFLAGS: 00000246 CPU: 0
[ 16.348153] EAX: 00000003 EBX: 0000000a ECX: bf977a84 EDX: 0000000c
[ 16.352019] ESI: 00000086 EDI: 8006e4f8 EBP: bf979ac8 ESP: bf977824
[ 16.355205] DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 007b
[ 16.357189] ---[ end trace b0ed16ad1b787fdd ]---
[ 16.404685] init: Failed to create pty - disabling logging for job
git bisect start 9f5f3fa2fdc98e99cf2861be423d3dace4e586cb c470abd4fde40ea6a0846a2beab642a578c0b8cd --
git bisect bad c1533ff89438c8b2ca8a1d5054b25fb005a4f87f # 12:04 0- 41 Merge 'ext4/dev' into devel-spot-201702201311
git bisect bad 909f1974f14908d58bed1df7ac8c2b86cc7301a7 # 12:18 0- 2 Merge 'linux-review/Tobin-C-Harding/x86-purgatory-Fix-sparse-warning-symbol-not-declared/20170220-071752' into devel-spot-201702201311
git bisect bad 313ad3777370eacce32486170ceeddc1840d5493 # 12:28 0- 44 Merge 'linux-review/jianchao-wang/MIPS-wrong-usage-of-l_exc_copy-in-octeon-memcpy-S/20170220-115401' into devel-spot-201702201311
git bisect bad f46faf2dc962eef03bc8b74d927c6845f5f047bd # 21:27 0- 3 Merge 'gvt-linux/gvt-staging' into devel-spot-201702201311
git bisect good 5d3e978ff92b6dab9828ef1e15cb71a18f5d8bdf # 01:18 40+ 0 0day base guard for 'devel-spot-201702201311'
git bisect good bc1e59b24d55320a8729eaf68b727ff65dfb521d # 02:04 42+ 0 drm/amdgpu:insert switch buffer only for VM submit
git bisect good 287599cf2d7719c812774ff49db9ae8ca4fa844a # 02:45 41+ 0 ALSA: add Intel HDMI LPE audio driver for BYT/CHT-T
git bisect good 7fff8126d9cc902b2636d05d5d34894a75174993 # 03:08 43+ 0 drm/i915/gen9+: Enable hotplug detection early
git bisect good 72affdf9729d9e9a81498196ed5ada4d8f1c599e # 03:26 42+ 0 drm/i915: Silence compiler for GTT selftests
git bisect good 2d42c033aec9f8e7e175c551ae62ea3f4dc200b9 # 11:27 42+ 0 ALSA: x86: Minor code rearrangement
git bisect good a4b10ccead4de0cf46bffb32fcb9e134b202676b # 01:14 41+ 0 drm: Constify drm_mode_config atomic helper private pointer
git bisect good ec62ed3e1d93843b382c222bc0d81546f12c97b8 # 01:45 40+ 0 drm/i915: Restore context and pd for ringbuffer submission after reset
git bisect good 262fd485ac6b476479f41f00bb104f6a1766ae66 # 14:13 43+ 0 drm/i915: Only enable hotplug interrupts if the display interrupts are enabled
git bisect good 6ef88df694873e9fbb4717f35a28d6dd9ea5d316 # 19:02 40+ 0 Merge remote-tracking branch 'sound/for-next' into drm-tip
git bisect good f642de16c86e9f31d084aa98a50d3a2c923450c2 # 07:12 41+ 0 dma-buf/dma-fence: improve doc for dma_fence_add_callback()
git bisect bad 0e65631f8a7a3bd5caa6545b210e218216624e7b # 07:25 0- 2 Merge remote-tracking branch 'drm-misc/drm-misc-next' into drm-tip
git bisect bad 3f7a5fb77af4f5b38e514b85d491da0046d6bfb8 # 07:25 0- 6 locking/mutex: Clear mutex-handoff flag on interrupt
git bisect good d790812fa2577bf238c3c9f0cd81c361a0fe0870 # 07:38 44+ 0 mm/vmalloc: Replace opencoded 4-level page walkers
# first bad commit: [3f7a5fb77af4f5b38e514b85d491da0046d6bfb8] locking/mutex: Clear mutex-handoff flag on interrupt
git bisect good d790812fa2577bf238c3c9f0cd81c361a0fe0870 # 07:55 122+ 0 mm/vmalloc: Replace opencoded 4-level page walkers
# extra tests with CONFIG_DEBUG_INFO_REDUCED
git bisect bad 3f7a5fb77af4f5b38e514b85d491da0046d6bfb8 # 10:46 0- 7 locking/mutex: Clear mutex-handoff flag on interrupt
# extra tests on HEAD of linux-devel/devel-spot-201702201311
git bisect bad 9f5f3fa2fdc98e99cf2861be423d3dace4e586cb # 10:46 0- 38 0day head guard for 'devel-spot-201702201311'
# extra tests on tree/branch drm-intel/topic/core-for-CI
git bisect bad ce3000be4f666479e49a4e844bda2a469b0bbb4d # 10:48 0- 9 e1000e: Undo e1000e_pm_freeze if __e1000_shutdown fails
# extra tests with first bad commit reverted
git bisect good 12f1a8d7fabf15efb1e509500ffe71551aae8717 # 13:08 126+ 0 Revert "locking/mutex: Clear mutex-handoff flag on interrupt"
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/lkp Intel Corporation
5 years, 2 months
2a9b244059: WARNING: CPU: 0 PID: 1 at kernel/time/hrtimer.c:1090 hrtimer_init
by kernel test robot
Greetings,
0day kernel testing robot got the below dmesg and the first bad commit is
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
commit 2a9b2440596e7c540971cff4d6396ffbd1c77133
Merge: 1cd4027 8ba605b
Author: Stephen Rothwell <sfr(a)canb.auug.org.au>
AuthorDate: Tue Feb 21 07:57:30 2017 +1100
Commit: Stephen Rothwell <sfr(a)canb.auug.org.au>
CommitDate: Tue Feb 21 07:57:30 2017 +1100
Merge remote-tracking branch 'arc-current/for-curr'
1cd4027cfe Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
8ba605b607 ARC: [plat-*] ARC_HAS_COH_CACHES no longer relevant
2a9b244059 Merge remote-tracking branch 'arc-current/for-curr'
+------------------------------------------------+------------+------------+------------+
| | 1cd4027cfe | 8ba605b607 | 2a9b244059 |
+------------------------------------------------+------------+------------+------------+
| boot_successes | 136 | 114 | 0 |
| boot_failures | 0 | 0 | 48 |
| WARNING:at_kernel/time/hrtimer.c:#hrtimer_init | 0 | 0 | 48 |
+------------------------------------------------+------------+------------+------------+
[ 6.933807] usbcore: registered new interface driver rndis_wlan
[ 6.934525] mac80211_hwsim: initializing netlink
[ 6.935893] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[ 6.937493] ieee80211 phy0: hwaddr 02:00:00:00:00:00 registered
[ 6.938324] ------------[ cut here ]------------
[ 6.939003] WARNING: CPU: 0 PID: 1 at kernel/time/hrtimer.c:1090 hrtimer_init+0x11f/0x199
[ 6.940348] Invalid clockid 4. Using MONOTONIC
[ 6.941003] Modules linked in:
[ 6.941504] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.10.0-00321-g2a9b244 #36
[ 6.942612] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.9.3-20161025_171302-gandalf 04/01/2014
[ 6.943951] Call Trace:
[ 6.944405] dump_stack+0x82/0xb8
[ 6.944931] __warn+0xc2/0xdd
[ 6.945428] warn_slowpath_fmt+0x4b/0x53
[ 6.946048] ? lock_is_held_type+0x4b/0x54
[ 6.946624] hrtimer_init+0x11f/0x199
[ 6.947319] ? mac80211_hwsim_get_tsf+0x1d/0x1d
[ 6.947935] tasklet_hrtimer_init+0x1b/0x4f
[ 6.948543] mac80211_hwsim_new_radio+0x7fe/0x916
[ 6.949185] ? set_debug_rodata+0x12/0x12
[ 6.949789] init_mac80211_hwsim+0x138/0x29f
[ 6.950392] ? rndis_wlan_driver_init+0x1b/0x1b
[ 6.951038] do_one_initcall+0x90/0x142
[ 6.951664] ? set_debug_rodata+0x12/0x12
[ 6.952256] kernel_init_freeable+0x1cb/0x258
[ 6.952914] ? rest_init+0x13b/0x13b
[ 6.953474] kernel_init+0xe/0xf5
[ 6.954033] ret_from_fork+0x31/0x40
[ 6.954620] ---[ end trace f002a3a1b38269ad ]---
[ 6.955767] ieee80211 phy1: Selected rate control algorithm 'minstrel_ht'
git bisect start 3d4ffb93f7807df4c0d899798db277e06f31d57d v4.10 --
git bisect bad 3f3b15817e05e611585390694a2cfe4d2634dd67 # 18:50 0- 6 Merge remote-tracking branch 'thermal/next'
git bisect bad a21a7dba513e1014d3cb7c0850bb58cfdab417fa # 19:09 0- 1 Merge remote-tracking branch 'blackfin/for-linus'
git bisect bad 61710bee7081daa91627134b1a350e3d87d3d0a4 # 01:01 0- 1 Merge remote-tracking branch 'ipsec/master'
git bisect good c9b9f207b90468bf9583f7ed71c15d0142bbf9b1 # 01:49 22+ 1 Merge tag 'for-v4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply
git bisect good 1cd4027cfe33390dc3f442aea8e7caeeeaa861a1 # 04:37 22+ 0 Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect bad 2a9b2440596e7c540971cff4d6396ffbd1c77133 # 05:02 0- 11 Merge remote-tracking branch 'arc-current/for-curr'
git bisect good 179cf194e6d153fb6daeca811253502d5c84e4c8 # 05:29 20+ 0 ARCv2: intc: Use runtime value of irq count for setting up intc
git bisect good fc73965ed0aa360d1c1813fcdb078533cbab03e3 # 05:50 22+ 0 ARCv2: IDU-intc: mask all common interrupts by default
git bisect good b48fba057ca850d69cd8fde5adbbdf927206514b # 07:08 22+ 0 ARCv2: intc: Delete useless comments in Device Trees
git bisect good 8ba605b607b7278548c1092b2ac36381627f0839 # 07:39 22+ 0 ARC: [plat-*] ARC_HAS_COH_CACHES no longer relevant
# first bad commit: [2a9b2440596e7c540971cff4d6396ffbd1c77133] Merge remote-tracking branch 'arc-current/for-curr'
git bisect good 1cd4027cfe33390dc3f442aea8e7caeeeaa861a1 # 11:32 66+ 0 Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect good 8ba605b607b7278548c1092b2ac36381627f0839 # 11:41 66+ 0 ARC: [plat-*] ARC_HAS_COH_CACHES no longer relevant
# extra tests on HEAD of mcgrof-next/20170221-iwlwifi
git bisect bad 44c1dcb3387a32483d1fa17cef0f2d6219e446fd # 11:41 0- 21 iwlwifi: convert final opmode work into a workqueue
# extra tests on tree/branch linux-next/master
git bisect bad 27fde840c0aaca31213844b8bc914281cdb101fa # 11:41 0- 26 Add linux-next specific files for 20170223
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/lkp Intel Corporation
5 years, 2 months