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: <59ee0349.AAHkFdcy2bleIvnJ%fengguang.wu@intel.com>
Date:   Mon, 23 Oct 2017 22:57:13 +0800
From:   kernel test robot <fengguang.wu@...el.com>
To:     "Anna-Maria Gleixner" <anna-maria@...utronix.de>
Cc:     LKP <lkp@...org>, linux-kernel@...r.kernel.org,
        Thomas Gleixner <tglx@...utronix.de>, wfg@...ux.intel.com
Subject: 7f6f735b72 ("hrtimer: Implement support for softirq based .."):
  BUG: unable to handle kernel NULL pointer dereference at 000000000000003a

Greetings,

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

https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git WIP.timers

commit 7f6f735b72fb372668f6526167a7f6ae4b39ab87
Author:     Anna-Maria Gleixner <anna-maria@...utronix.de>
AuthorDate: Sun Oct 22 23:14:28 2017 +0200
Commit:     Thomas Gleixner <tglx@...utronix.de>
CommitDate: Sun Oct 22 23:17:59 2017 +0200

    hrtimer: Implement support for softirq based hrtimers
    
    hrtimer callbacks are always invoked in hard interrupt context. Several
    users in tree require soft interrupt context for their callbacks and
    achieve this by combining a hrtimer with a tasklet. The hrtimer schedules
    the tasklet in hard interrupt context and the tasklet callback gets invoked
    in softirq context later.
    
    That's suboptimal and aside of that the real-time patch moves most of the
    hrtimers into softirq context. So adding native support for hrtimers
    expiring in softirq context is a valuable extension for both mainline and
    the RT patch set.
    
    Each valid hrtimer clock id has two associated hrtimer clock bases: one for
    timers expiring in hardirq context and one for timers expiring in softirq
    context.
    
    Implement the functionality to associate a hrtimer with the hard or softirq
    related clock bases and update the relevant functions to take them into
    account when the next expiry time needs to be evaluated.
    
    Add a check into the hard interrupt context handler functions to check
    whether the first expiring softirq based timer has expired. If it's expired
    the softirq is raised and the accounting of softirq based timers to
    evaluate the next expiry time for programming the timer hardware is skipped
    until the softirq processing has finished. At the end of the softirq
    processing the regular processing is resumed.
    
    Suggested-by: Thomas Gleixner <tglx@...utronix.de>
    Suggested-by: Peter Zijlstra <peterz@...radead.org>
    Signed-off-by: Anna-Maria Gleixner <anna-maria@...utronix.de>
    Signed-off-by: Thomas Gleixner <tglx@...utronix.de>

8c144a95e6  hrtimer: Prepare handling of hard and softirq based hrtimers
7f6f735b72  hrtimer: Implement support for softirq based hrtimers
0f0f9ec319  net/mvpp2: Replace tasklet with softirq hrtimer
c26fc87199  Merge branch 'x86/timers'
+------------------------------------------+------------+------------+------------+------------+
|                                          | 8c144a95e6 | 7f6f735b72 | 0f0f9ec319 | c26fc87199 |
+------------------------------------------+------------+------------+------------+------------+
| boot_successes                           | 35         | 5          | 6          | 15         |
| boot_failures                            | 0          | 10         | 11         |            |
| BUG:unable_to_handle_kernel              | 0          | 10         | 11         |            |
| Oops:#[##]                               | 0          | 10         | 11         |            |
| Kernel_panic-not_syncing:Fatal_exception | 0          | 10         | 11         |            |
+------------------------------------------+------------+------------+------------+------------+

Kernel tests: Boot OK!
[   70.624144] rcu-torture: rtc: ffffffff83032180 ver: 1 tfle: 0 rta: 1 rtaf: 0 rtf: 0 rtmbe: 0 rtbe: 0 rtbke: 0 rtbre: 0 rtbf: 0 rtb: 0 nt: 1 barrier: 0/0:0 cbflood: 1
[   70.626619] rcu-torture: Reader Pipe:  2 0 0 0 0 0 0 0 0 0 0
[   70.627561] rcu-torture: Reader Batch:  1 1 0 0 0 0 0 0 0 0 0
[   70.628514] rcu-torture: Free-Block Circulation:  0 0 0 0 0 0 0 0 0 0 0
[   82.290914] BUG: unable to handle kernel NULL pointer dereference at 000000000000003a
[   82.292105] IP: __remove_hrtimer+0x57/0x78
[   82.292703] PGD 1d89a067 P4D 1d89a067 PUD 1d89b067 PMD 0 
[   82.293520] Oops: 0000 [#1] SMP
[   82.293976] CPU: 0 PID: 1 Comm: init Not tainted 4.14.0-rc5-00291-g7f6f735 #1
[   82.295180] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014
[   82.296432] task: ffff88001e82c000 task.stack: ffff88001e830000
[   82.297292] RIP: 0010:__remove_hrtimer+0x57/0x78
[   82.297999] RSP: 0018:ffff88001e833938 EFLAGS: 00010006
[   82.298760] RAX: 7fffffffffffffff RBX: ffff88001fbd3480 RCX: 0000000000000000
[   82.300336] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff88001fbd3480
[   82.301387] RBP: ffff88001e833990 R08: 0000000000000001 R09: 0000000000000001
[   82.302434] R10: ffff88001ce4bf58 R11: 0000000000000000 R12: ffff88001fbd3500
[   82.303459] R13: 0000000000000001 R14: 0000000000000000 R15: 0000000000000008
[   82.304506] FS:  00007fa4f814b700(0000) GS:ffff88001fa00000(0000) knlGS:0000000000000000
[   82.305765] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   82.306594] CR2: 000000000000003a CR3: 000000001d898003 CR4: 00000000000606b0
[   82.307647] Call Trace:
[   82.308023]  ? hrtimer_try_to_cancel+0x5b/0x73
[   82.308705]  ? hrtimer_cancel+0xc/0x16
[   82.309260]  ? schedule_hrtimeout_range_clock+0xae/0xe0
[   82.310189]  ? __hrtimer_init+0x61/0x61
[   82.310752]  ? poll_schedule_timeout+0x49/0x6f
[   82.311460]  ? do_select+0x644/0x67f
[   82.311975]  ? poll_select_copy_remaining+0x102/0x102
[   82.312729]  ? kvm_clock_read+0x21/0x29
[   82.313294]  ? kvm_sched_clock_read+0x5/0xd
[   82.313908]  ? path_put+0xd/0x16
[   82.314414]  ? kvm_clock_read+0x21/0x29
[   82.314970]  ? kvm_sched_clock_read+0x5/0xd
[   82.315602]  ? core_sys_select+0x308/0x32a
[   82.316243]  ? core_sys_select+0x308/0x32a
[   82.316846]  ? kvm_clock_read+0x21/0x29
[   82.317440]  ? ktime_get_ts64+0xf0/0x1d2
[   82.318041]  ? timespec64_add_safe+0x21/0x53
[   82.318664]  ? SyS_select+0x87/0xac
[   82.319213]  ? entry_SYSCALL_64_fastpath+0x1a/0xaa
[   82.319908] Code: 41 8b 4c 24 08 b8 fe ff ff ff d3 c0 21 43 4c 45 85 ed 74 31 48 3b 6b 60 75 2b be ff 00 00 00 48 89 df e8 4d ff ff ff 48 8b 53 60 <80> 7a 3a 00 74 0a f6 43 54 04 75 0e 48 89 43 68 48 3b 43 58 74 
[   82.322852] RIP: __remove_hrtimer+0x57/0x78 RSP: ffff88001e833938
[   82.323756] CR2: 000000000000003a
[   82.324241] ---[ end trace 6c46455e0ce2f4ae ]---
[   82.324949] Kernel panic - not syncing: Fatal exception

                                                          # HH:MM RESULT GOOD BAD GOOD_BUT_DIRTY DIRTY_NOT_BAD
git bisect start bdec7d089bead958fc8c55dec042551c0e09d73f 33d930e59a98fa10a0db9f56c7fa2f21a4aef9b9 --
git bisect  bad 5ac7b496116bfc62a6f298b5615c7446ee1eba8e  # 13:22  B      0    11   23   0  Merge 'linux-review/Tony-Lindgren/ARM-omap2plus_defconfig-Enable-droid-4-USB-PHY/20171023-080619' into devel-catchup-201710231044
git bisect  bad 20ac15b3391ed4edfa3ff0fac31435fe4298d571  # 13:54  B      0     8   21   0  Merge 'linuxtv-media/master' into devel-catchup-201710231044
git bisect good 6ba4995dc7db43bb3c2c47c67800e792fb36eb67  # 15:10  G     11     0    0   0  0day base guard for 'devel-catchup-201710231044'
git bisect  bad 95c2294ec24ba4bdba124bb2d35d5efa2e4e5505  # 15:48  B      0     8   20   0  Merge 'tip/WIP.timers' into devel-catchup-201710231044
git bisect good e5f468b3f23313994c5e6c356135f9b0d76bcb94  # 16:33  G     11     0    0   0  Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
git bisect good b4562ca7925a3bedada87a3dd072dd5bad043288  # 17:10  G     11     0    0   0  hv_sock: add locking in the open/close/release code paths
git bisect good 66bdede495c71da9c5ce18542976fae53642880b  # 18:05  G     11     0    0   0  of_mdio: Fix broken PHY IRQ in case of probe deferral
git bisect good e17227efca7bdeb3b71307e00fe4115107546832  # 18:36  G     11     0    0   0  hrtimer: Make hrtimer_reprogramm() unconditional
git bisect good 8c144a95e66254473eddf3141a96fa9529e42c7a  # 19:29  G     11     0    0   0  hrtimer: Prepare handling of hard and softirq based hrtimers
git bisect  bad 6a9ff2bc8ac82caff982bdbc94b227078758f4e4  # 19:54  B      0     9   22   0  xfrm: Replace hrtimer tasklet with softirq hrtimer
git bisect  bad d40d0a6d1e73e9139d4bd0d629e836a3249380e4  # 20:17  B      0     2   14   0  hrtimer: Implement SOFT/HARD clock base selection
git bisect  bad 7f6f735b72fb372668f6526167a7f6ae4b39ab87  # 21:20  B      0     4   18   1  hrtimer: Implement support for softirq based hrtimers
# first bad commit: [7f6f735b72fb372668f6526167a7f6ae4b39ab87] hrtimer: Implement support for softirq based hrtimers
git bisect good 8c144a95e66254473eddf3141a96fa9529e42c7a  # 21:44  G     31     0    0   0  hrtimer: Prepare handling of hard and softirq based hrtimers
# extra tests with CONFIG_DEBUG_INFO_REDUCED
git bisect  bad 7f6f735b72fb372668f6526167a7f6ae4b39ab87  # 22:03  B      0     2   14   0  hrtimer: Implement support for softirq based hrtimers
# extra tests on HEAD of linux-devel/devel-catchup-201710231044
git bisect  bad bdec7d089bead958fc8c55dec042551c0e09d73f  # 22:08  B      0    17   37   4  0day head guard for 'devel-catchup-201710231044'
# extra tests on tree/branch tip/WIP.timers
git bisect  bad 0f0f9ec319ea27dba44d16c643805821005f4955  # 22:24  B      0    10   22   0  net/mvpp2: Replace tasklet with softirq hrtimer
# extra tests with first bad commit reverted
# extra tests on tree/branch tip/master
git bisect good c26fc87199d8aacca16dfb2c297ee24ce9f74b2f  # 22:56  G     11     0    0   0  Merge branch 'x86/timers'

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

Download attachment "dmesg-yocto-vp-11:20171023203022:x86_64-randconfig-r0-10231140:4.14.0-rc5-00291-g7f6f735:1.gz" of type "application/gzip" (17003 bytes)

View attachment "reproduce-yocto-vp-11:20171023203022:x86_64-randconfig-r0-10231140:4.14.0-rc5-00291-g7f6f735:1" of type "text/plain" (903 bytes)

View attachment "config-4.14.0-rc5-00291-g7f6f735" of type "text/plain" (113920 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ