Re: Fw: [PACKET]: Fix /proc/net/packet crash due to bogus private pointer

From: Miles Lane
Date: Sun Dec 16 2007 - 15:10:41 EST


On Dec 16, 2007 3:19 AM, Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> wrote:
> On Sat, Dec 15, 2007 at 11:56:04PM -0800, Andrew Morton wrote:
> > On Sun, 16 Dec 2007 01:37:01 -0500 "Miles Lane" <miles.lane@xxxxxxxxx> wrote:
> >
> > > > On Sun, Dec 16, 2007 at 11:07:07AM +0800, Herbert Xu wrote:
>
> So I posted this patch after 19:00 PST on 15 Dec.
>
> > > Dec 15 13:44:39 syntropy kernel: #0: (&p->lock){--..}, at:
> > > [crypto_algapi:seq_read+0x25/0x191c1] seq_read+0x25/0x26f
> >
> > So your kernel is still feeding garbage into lockdep.
> >
> > Are you really really sure that kernel had Herbert's patch applied?
>
> The above log message is stamped as 13:44 PST. I gotta say
> this doesn't look good :)

Yes, I did have the patch applied, but I had reenabled LOCKDEP_DEBUG.
I just tried with the LOCKDEP_DEBUG stuff turned off, and with this
configuration, the problem is resolved. It seems that the patch
you made does fix the problem with /proc/net/packet. This new issue
seems to be a different problem.

So, I tried building another kernel with LOCKDEP enabled (.config attached):
With this kernel, I got:

Dec 16 11:21:39 syntropy kernel: [ 278.723108] process `tail' is
using deprecated sysctl (syscall) net.ipv6.neigh.default.retrans_time;
Use net.ipv6.neigh.default.retrans_time_ms instead.
Dec 16 11:21:40 syntropy kernel: [ 279.226103] in_atomic():1, irqs_disabled():0
Dec 16 11:21:40 syntropy kernel: [ 279.226106] no locks held by tail/6208.
Dec 16 11:21:40 syntropy kernel: [ 279.226109] Pid: 6208, comm: tail
Not tainted 2.6.24-rc5-mm1 #5
Dec 16 11:21:40 syntropy kernel: [ 279.226112]
[show_trace_log_lvl+0x12/0x25] show_trace_log_lvl+0x12/0x25
Dec 16 11:21:40 syntropy kernel: [ 279.226121] [show_trace+0xd/0x10]
show_trace+0xd/0x10
Dec 16 11:21:40 syntropy kernel: [ 279.226126]
[sbp2:dump_stack+0x57/0x17c1] dump_stack+0x57/0x5f
Dec 16 11:21:40 syntropy kernel: [ 279.226130]
[firewire_core:__might_sleep+0xd7/0x29a] __might_sleep+0xd7/0xde
Dec 16 11:21:40 syntropy kernel: [ 279.226136]
[parport:copy_to_user+0x32/0xd13f] copy_to_user+0x32/0x47
Dec 16 11:21:40 syntropy kernel: [ 279.226141]
[add_to_pagemap+0x29/0x56] add_to_pagemap+0x29/0x56
Dec 16 11:21:40 syntropy kernel: [ 279.226147]
[pagemap_pte_range+0x74/0xb1] pagemap_pte_range+0x74/0xb1
Dec 16 11:21:40 syntropy kernel: [ 279.226151]
[walk_page_range+0x115/0x1dc] walk_page_range+0x115/0x1dc
Dec 16 11:21:40 syntropy kernel: [ 279.226157]
[pagemap_read+0x154/0x1e8] pagemap_read+0x154/0x1e8
Dec 16 11:21:40 syntropy kernel: [ 279.226161] [vfs_read+0xa2/0x11e]
vfs_read+0xa2/0x11e
Dec 16 11:21:40 syntropy kernel: [ 279.226166] [sys_read+0x3b/0x60]
sys_read+0x3b/0x60
Dec 16 11:21:40 syntropy kernel: [ 279.226170]
[sysenter_past_esp+0x6b/0xc1] sysenter_past_esp+0x6b/0xc1
Dec 16 11:21:40 syntropy kernel: [ 279.226174] =======================
Dec 16 11:21:40 syntropy kernel: [ 279.226183] no locks held by tail/6208.
Dec 16 11:21:40 syntropy kernel: [ 279.226185] irq event stamp: 2483428
Dec 16 11:21:40 syntropy kernel: [ 279.226187] hardirqs last enabled
at (2483427): [__slab_free+0xd0/0x16e] __slab_free+0xd0/0x16e
Dec 16 11:21:40 syntropy kernel: [ 279.226194] hardirqs last disabled
at (2483428): [sysenter_past_esp+0x8f/0xc1]
sysenter_past_esp+0x8f/0xc1
Dec 16 11:21:40 syntropy kernel: [ 279.226199] softirqs last enabled
at (2476520): [<f8a0906a>] sta_info_get+0x4e/0x55 [mac80211]
Dec 16 11:21:40 syntropy kernel: [ 279.226222] softirqs last disabled
at (2476518): [mac80211:_read_lock_bh+0xb/0xeb] _read_lock_bh+0xb/0x37
Dec 16 11:21:40 syntropy kernel: [ 279.226230] Pid: 6208, comm: tail
Not tainted 2.6.24-rc5-mm1 #5
Dec 16 11:21:40 syntropy kernel: [ 279.226232]
[show_trace_log_lvl+0x12/0x25] show_trace_log_lvl+0x12/0x25
Dec 16 11:21:40 syntropy kernel: [ 279.226237] [show_trace+0xd/0x10]
show_trace+0xd/0x10
Dec 16 11:21:40 syntropy kernel: [ 279.226241]
[sbp2:dump_stack+0x57/0x17c1] dump_stack+0x57/0x5f
Dec 16 11:21:40 syntropy kernel: [ 279.226245]
[__schedule_bug+0x61/0x68] __schedule_bug+0x61/0x68
Dec 16 11:21:40 syntropy kernel: [ 279.226250]
[parport:schedule+0x89/0x51a] schedule+0x89/0x4da
Dec 16 11:21:40 syntropy kernel: [ 279.226254]
[work_resched+0x5/0x3c] work_resched+0x5/0x3c
Dec 16 11:21:40 syntropy kernel: [ 279.226258] =======================

In another test pass, I got:

Dec 16 11:24:09 syntropy kernel: [ 75.850945] process `head' is
using deprecated sysctl (syscall) net.ipv6.neigh.default.retrans_time;
Use net.ipv6.neigh.default.retrans_time_ms instead.
Dec 16 11:25:12 syntropy kernel: [ 102.871832] process `cat' is using
deprecated sysctl (syscall) net.ipv6.neigh.default.retrans_time; Use
net.ipv6.neigh.default.retrans_time_ms instead.
Dec 16 11:25:19 syntropy kernel: [ 110.532900] in_atomic():1, irqs_disabled():0
Dec 16 11:25:19 syntropy kernel: [ 110.532903] no locks held by cat/4837.
Dec 16 11:25:19 syntropy kernel: [ 110.532906] Pid: 4837, comm: cat
Not tainted 2.6.24-rc5-mm1 #5
Dec 16 11:25:19 syntropy kernel: [ 110.532909]
[show_trace_log_lvl+0x12/0x25] show_trace_log_lvl+0x12/0x25
Dec 16 11:25:19 syntropy kernel: [ 110.532919] [show_trace+0xd/0x10]
show_trace+0xd/0x10
Dec 16 11:25:19 syntropy kernel: [ 110.532924]
[sbp2:dump_stack+0x57/0x17c1] dump_stack+0x57/0x5f
Dec 16 11:25:19 syntropy kernel: [ 110.532928]
[firewire_core:__might_sleep+0xd7/0x29a] __might_sleep+0xd7/0xde
Dec 16 11:25:19 syntropy kernel: [ 110.532937]
[parport:copy_to_user+0x32/0xd13f] copy_to_user+0x32/0x47
Dec 16 11:25:19 syntropy kernel: [ 110.532943]
[add_to_pagemap+0x29/0x56] add_to_pagemap+0x29/0x56
Dec 16 11:25:19 syntropy kernel: [ 110.532949]
[pagemap_pte_range+0x74/0xb1] pagemap_pte_range+0x74/0xb1
Dec 16 11:25:19 syntropy kernel: [ 110.532953]
[walk_page_range+0x115/0x1dc] walk_page_range+0x115/0x1dc
Dec 16 11:25:19 syntropy kernel: [ 110.532961]
[pagemap_read+0x154/0x1e8] pagemap_read+0x154/0x1e8
Dec 16 11:25:19 syntropy kernel: [ 110.532990] [vfs_read+0xa2/0x11e]
vfs_read+0xa2/0x11e
Dec 16 11:25:19 syntropy kernel: [ 110.532997] [sys_read+0x3b/0x60]
sys_read+0x3b/0x60
Dec 16 11:25:19 syntropy kernel: [ 110.533002]
[sysenter_past_esp+0x6b/0xc1] sysenter_past_esp+0x6b/0xc1
Dec 16 11:25:19 syntropy kernel: [ 110.533007] =======================
Dec 16 11:25:19 syntropy kernel: [ 110.589651] 1 lock held by cat/4837:
Dec 16 11:25:19 syntropy kernel: [ 110.589653] #0:
(&tty->atomic_write_lock){--..}, at: [tty_write_lock+0x14/0x3b]
tty_write_lock+0x14/0x3b
Dec 16 11:25:19 syntropy kernel: [ 110.589663] Pid: 4837, comm: cat
Not tainted 2.6.24-rc5-mm1 #5
Dec 16 11:25:19 syntropy kernel: [ 110.589665]
[show_trace_log_lvl+0x12/0x25] show_trace_log_lvl+0x12/0x25
Dec 16 11:25:19 syntropy kernel: [ 110.589669] [show_trace+0xd/0x10]
show_trace+0xd/0x10
Dec 16 11:25:19 syntropy kernel: [ 110.589673]
[sbp2:dump_stack+0x57/0x17c1] dump_stack+0x57/0x5f
Dec 16 11:25:19 syntropy kernel: [ 110.589677]
[__schedule_bug+0x61/0x68] __schedule_bug+0x61/0x68
Dec 16 11:25:19 syntropy kernel: [ 110.589681]
[parport:schedule+0x89/0x51a] schedule+0x89/0x4da
Dec 16 11:25:19 syntropy kernel: [ 110.589686]
[__cond_resched+0x21/0x3b] __cond_resched+0x21/0x3b
Dec 16 11:25:19 syntropy kernel: [ 110.589690]
[lp:cond_resched+0x26/0x44] cond_resched+0x26/0x31
Dec 16 11:25:19 syntropy kernel: [ 110.589694]
[console_conditional_schedule+0x11/0x13]
console_conditional_schedule+0x11/0x13
Dec 16 11:25:19 syntropy kernel: [ 110.589698]
[fbcon_redraw+0xdf/0x13d] fbcon_redraw+0xdf/0x13d
Dec 16 11:25:19 syntropy kernel: [ 110.589703]
[fbcon_scroll+0x5fe/0xb86] fbcon_scroll+0x5fe/0xb86
Dec 16 11:25:19 syntropy kernel: [ 110.589707] [scrup+0x57/0xbe]
scrup+0x57/0xbe
Dec 16 11:25:19 syntropy kernel: [ 110.589711] [lf+0x1b/0x47] lf+0x1b/0x47
Dec 16 11:25:19 syntropy kernel: [ 110.589715]
[do_con_write+0x82b/0x181f] do_con_write+0x82b/0x181f
Dec 16 11:25:19 syntropy kernel: [ 110.589719]
[con_put_char+0x2b/0x2f] con_put_char+0x2b/0x2f
Dec 16 11:25:19 syntropy kernel: [ 110.589722] [opost+0x182/0x199]
opost+0x182/0x199
Dec 16 11:25:19 syntropy kernel: [ 110.589726]
[write_chan+0x207/0x2ac] write_chan+0x207/0x2ac
Dec 16 11:25:19 syntropy kernel: [ 110.589730]
[tty_write+0x13c/0x1b9] tty_write+0x13c/0x1b9
Dec 16 11:25:19 syntropy kernel: [ 110.589734]
[vfs_write+0xa4/0x120] vfs_write+0xa4/0x120
Dec 16 11:25:19 syntropy kernel: [ 110.589737] [sys_write+0x3b/0x60]
sys_write+0x3b/0x60
Dec 16 11:25:19 syntropy kernel: [ 110.589741]
[sysenter_past_esp+0x6b/0xc1] sysenter_past_esp+0x6b/0xc1
Dec 16 11:25:19 syntropy kernel: [ 110.589744] =======================

Attachment: .config
Description: Binary data