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>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130223013011.GA9484@localhost>
Date:	Sat, 23 Feb 2013 09:30:11 +0800
From:	Fengguang Wu <fengguang.wu@...el.com>
To:	fengguang.wu@...el.com, Johannes Weiner <hannes@...xchg.org>
Cc:	Tejun Heo <tj@...nel.org>, linux-kernel@...r.kernel.org
Subject: [idr/perf_init_event] BUG: unable to handle kernel NULL pointer
 dereference at (null)

Greetings,

I got the below dmesg and the first bad commit is

commit f5947173c082a04a9804bb42a91a0f5df5ee0527
Author: Tejun Heo <tj@...nel.org>
Date:   Wed Feb 20 02:05:52 2013 +0000

    idr: implement lookup hint
    
    While idr lookup isn't a particularly heavy operation, it still is too
    substantial to use in hot paths without worrying about the performance
    implications.  With recent changes, each idr_layer covers 256 slots
    which should be enough to cover most use cases with single idr_layer
    making lookup hint very attractive.
    
    This patch adds idr->hint which points to the idr_layer which
    allocated an ID most recently and the fast path lookup becomes
    
    	if (look up target's prefix matches that of the hinted layer)
    		return hint->ary[ID's offset in the leaf layer];
    
    which can be inlined.
    
    idr->hint is set to the leaf node on idr_fill_slot() and cleared from
    free_layer().
    
    Signed-off-by: Tejun Heo <tj@...nel.org>
    Signed-off-by: Andrew Morton <akpm@...ux-foundation.org>

[    1.785897]   remote IPI:  ok  |
[    1.786928]    local IPI:
[    3.681214] BUG: unable to handle kernel NULL pointer dereference at           (null)
[    3.683277] IP: [<ffffffff81141a8c>] perf_init_event+0x43/0xf7
[    3.684000] PGD 0 
[    3.684000] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC
[    3.684000] Modules linked in:
[    3.684000] CPU 0 
[    3.684000] Pid: 11, comm: watchdog/0 Not tainted 3.8.0-mm1-00712-ge5b1dc6 #164 Bochs Bochs
[    3.684000] RIP: 0010:[<ffffffff81141a8c>]  [<ffffffff81141a8c>] perf_init_event+0x43/0xf7
[    3.684000] RSP: 0000:ffff88001d6e3cc8  EFLAGS: 00000246
[    3.684000] RAX: 0000000000000000 RBX: ffffffff83c60370 RCX: 0000000000436017
[    3.684000] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000246
[    3.684000] RBP: ffff88001d6e3cf8 R08: 0000000000000001 R09: 0000000000000000
[    3.684000] R10: ffffffff83c51bf0 R11: ffff88001e20a000 R12: ffff88001d6d2800
[    3.684000] R13: 0000000000000000 R14: ffff88001d6d2800 R15: ffffffff83c51270
[    3.684000] FS:  0000000000000000(0000) GS:ffff88001e200000(0000) knlGS:0000000000000000
[    3.684000] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[    3.684000] CR2: 0000000000000000 CR3: 0000000003c15000 CR4: 00000000000006f0
[    3.684000] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[    3.684000] DR3: 0000000000000000 DR6: 0000000000000000 DR7: 0000000000000000
[    3.684000] Process watchdog/0 (pid: 11, threadinfo ffff88001d6e2000, task ffff88001d6e42c0)
[    3.684000] Stack:
[    3.684000]  ffff88001d6e3cf8 ffffffff810bc566 ffff88001d6d2bc8 ffffffff83c60370
[    3.684000]  0000000000000000 0000000000000000 ffff88001d6e3d48 ffffffff81141da7
[    3.684000]  ffffffff8110dc69 000000001e3d5700 ffff88001d6e3d28 0000000000000000
[    3.684000] Call Trace:
[    3.684000]  [<ffffffff810bc566>] ? __mutex_init+0x57/0x5f
[    3.684000]  [<ffffffff81141da7>] perf_event_alloc+0x267/0x397
[    3.684000]  [<ffffffff8110dc69>] ? touch_nmi_watchdog+0x5f/0x5f
[    3.684000]  [<ffffffff81142170>] perf_event_create_kernel_counter+0x26/0xce
[    3.684000]  [<ffffffff8110ddcc>] watchdog_enable+0xaf/0x1a4
[    3.684000]  [<ffffffff82c4d06f>] ? __schedule+0x5a5/0x5ee
[    3.684000]  [<ffffffff810c11e1>] smpboot_thread_fn+0x135/0x1b4
[    3.684000]  [<ffffffff810c10ac>] ? smpboot_register_percpu_thread+0xb7/0xb7
[    3.684000]  [<ffffffff810c10ac>] ? smpboot_register_percpu_thread+0xb7/0xb7
[    3.684000]  [<ffffffff810b9b6c>] kthread+0xb1/0xb9
[    3.684000]  [<ffffffff82c4d1d5>] ? __wait_for_common+0xb8/0x107
[    3.684000]  [<ffffffff810b9abb>] ? __kthread_parkme+0x65/0x65
[    3.684000]  [<ffffffff82c55cec>] ret_from_fork+0x7c/0xb0
[    3.684000]  [<ffffffff810b9abb>] ? __kthread_parkme+0x65/0x65
[    3.684000] Code: eb c5 f7 ff 48 c7 c7 50 cc d0 84 41 89 c5 e8 c6 9d ff ff e8 ea 9d ff ff 41 8b b4 24 a0 00 00 00 48 8b 05 b8 af bc 03 89 f2 30 d2 <3b> 10 75 0f 40 0f b6 f6 48 83 c6 04 48 8b 5c f0 08 eb 0f 48 c7 
[    3.684000] RIP  [<ffffffff81141a8c>] perf_init_event+0x43/0xf7
[    3.684000]  RSP <ffff88001d6e3cc8>
[    3.684000] CR2: 0000000000000000
[    3.688499] ---[ end trace 06ac4849e4c65ddd ]---

git bisect start e5b1dc669978ba463dd249dab23eef98b12c0b05 cafc49b041ba642a05e4b228f892282033c97f9b --
git bisect good 597219aec6c138b9c78c764b63c94ccfe191dbc9  #    22  2013-02-20 16:32:26  hfsplus: rework functionality of getting, setting and deleting of extended attributes
git bisect  bad 04cf02b90d290691a5e10d17676300b6cb5ab29f  #     0  2013-02-20 16:42:51  ipmi: remove superfluous kernel/userspace explanation
git bisect good 08833a200e79cc3b8b9193df4daf037f5155539a  #    20  2013-02-20 17:09:56  firewire: convert to idr_alloc()
git bisect good 740bd30ffc9f03f4c58d784e08a54159ae0f60aa  #    22  2013-02-20 17:41:46  ppp: convert to idr_alloc()
git bisect good eb29f6e97e62b450609ce301113c1749062769c6  #    22  2013-02-20 18:13:15  ipc-convert-to-idr_alloc-fix
git bisect good 653cc8e56dfc804e1e8a3dbeff24a3d20aa9d41e  #    24  2013-02-20 18:45:17  idr: fix top layer handling
git bisect good 5c95ffae5c6cc2242e1f65d0164e0223574653bc  #    20  2013-02-20 19:21:46  idr: make idr_layer larger
git bisect  bad f5947173c082a04a9804bb42a91a0f5df5ee0527  #     0  2013-02-20 19:32:22  idr: implement lookup hint
git bisect good 7fdabbedd65764b9876f1fefa43609f5ec48c023  #    21  2013-02-20 20:00:41  idr: add idr_layer->prefix
git bisect good 7fdabbedd65764b9876f1fefa43609f5ec48c023  #    61  2013-02-20 21:13:41  idr: add idr_layer->prefix
git bisect  bad e5b1dc669978ba463dd249dab23eef98b12c0b05  #     0  2013-02-20 21:24:07  add a refcount check in dput()
git bisect  bad e462f39a9cf3efd63c7bf15d633470bb90966485  #     0  2013-02-20 21:28:11  Revert "add a refcount check in dput()"
git bisect  bad 28df63a83ff0a216902f6c8f90afb0b1f0fa8373  #     0  2013-02-20 21:49:08  Add linux-next specific files for 20130220

Thanks,
Fengguang

View attachment "dmesg-kvm-ant-6584-2013-02-20-10-52-25-3.8.0-mm1-00712-ge5b1dc6-164" of type "text/plain" (25176 bytes)

View attachment "e5b1dc6-bisect.log" of type "text/plain" (7428 bytes)

View attachment ".config-bisect" of type "text/plain" (129187 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ