All of lore.kernel.org
 help / color / mirror / Atom feed
* 2.5.46-bk3: BUG in skbuff.c:178
@ 2002-11-08 19:42 Burton Windle
  2002-11-08 20:01 ` Andrew Morton
  0 siblings, 1 reply; 7+ messages in thread
From: Burton Windle @ 2002-11-08 19:42 UTC (permalink / raw)
  To: linux-kernel

Single-CPU system, running 2.5.46-bk3. Whiling compiling bk4, and running
a script that was pinging every host on my subnet (I was running arp -a
to see what was in the arp table at the time), I hit this BUG.

Debug: sleeping function called from illegal context at mm/slab.c:1305
Call Trace:
 [<c011247c>] __might_sleep+0x54/0x58
 [<c012a3e2>] kmem_flagcheck+0x1e/0x50
 [<c012ab6a>] kmem_cache_alloc+0x12/0xc8
 [<c0226e0c>] sock_alloc_inode+0x10/0x68
 [<c014cb65>] alloc_inode+0x15/0x180
 [<c014d397>] new_inode+0xb/0x78
 [<c0227093>] sock_alloc+0xf/0x68
 [<c0227d65>] sock_create+0x8d/0xe4
 [<c0227dd9>] sys_socket+0x1d/0x58
 [<c0228a13>] sys_socketcall+0x5f/0x1f4
 [<c0108903>] syscall_call+0x7/0xb

bad: scheduling while atomic!
Call Trace:
 [<c01110b1>] schedule+0x3d/0x2c8
 [<c010892a>] work_resched+0x5/0x16

alloc_skb called nonatomically from interrupt c022966e
------------[ cut here ]------------
kernel BUG at net/core/skbuff.c:178!
invalid operand: 0000
CPU:    0
EIP:    0060:[<c022a073>]    Not tainted
EFLAGS: 00010202
EIP is at alloc_skb+0x43/0x1a4
eax: 0000003a   ebx: c27d1044   ecx: c3fff360   edx: c0343e50
esi: 00000000   edi: 000001d0   ebp: c27d1ca4   esp: c1ad3e90
ds: 0068   es: 0068   ss: 0068
Process arp (pid: 5029, threadinfo=c1ad2000 task=c3fff360)
Stack: c02bf140 c022966e c27d1044 00000000 0000006e c022966e 00000001 000001d0
       c6bb65e4 c02679a1 c27d1044 00000001 00000000 000001d0 c6bb65e4 c1ad3f14
       0000006e bffff78c 00000018 7fffffff 00000000 c27d1044 fffffff4 bffff71c
Call Trace:
 [<c022966e>] sock_wmalloc+0x26/0x50
 [<c022966e>] sock_wmalloc+0x26/0x50
 [<c02679a1>] unix_stream_connect+0xb1/0x3e8
 [<c0228177>] sys_connect+0x5b/0x78
 [<c0228a40>] sys_socketcall+0x8c/0x1f4
 [<c0108903>] syscall_call+0x7/0xb

Code: 0f 0b b2 00 e3 f0 2b c0 83 c4 08 83 e7 ef 31 c0 9c 59 fa be
 <0>Kernel panic: Aiee, killing interrupt handler!
In interrupt handler - not syncing

--
Burton Windle                           burton@fint.org
Linux: the "grim reaper of innocent orphaned children."
          from /usr/src/linux-2.4.18/init/main.c:461



^ permalink raw reply	[flat|nested] 7+ messages in thread
* Re: 2.5.46-bk3: BUG in skbuff.c:178
@ 2002-11-08 19:33 Petr Vandrovec
  2002-11-08 22:02 ` Petr Vandrovec
  0 siblings, 1 reply; 7+ messages in thread
From: Petr Vandrovec @ 2002-11-08 19:33 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, bwindle, acme

On  8 Nov 02 at 12:01, Andrew Morton wrote:
> > Single-CPU system, running 2.5.46-bk3. Whiling compiling bk4, and running
> > a script that was pinging every host on my subnet (I was running arp -a
> > to see what was in the arp table at the time), I hit this BUG.
> 
> I'd be suspecting the seq_file conversion in arp.c.  The read_lock_bh()
> stuff in there looks, umm, unclear ;)

Yes, see my emails from 23th Oct, 25th Oct (2.5.44: Strange oopses from 
userspace), from Nov 6th + Nov 7th: Preempt count check when leaving
IRQ.

But while yesterday I had no idea, today I have one (it looks like that
nobody else is going to fix it for me :-( ) :
seq subsystem can call arp_seq_start/next/stop several times, but
state->is_pneigh is set to 0 only once, by memset in arp_seq_open :-(

I think that arp_seq_start should do

  {
+   struct arp_iter_state* state = seq->private;
+   seq->is_pneigh = 0;
+   seq->bucket = 0;
    read_lock_bh(&arp_tbl.lock);
    return *pos ? arp_get_bucket(seq, pos) : (void *)1;
  }

and we can drop memset from arp_seq_open. I'll try it, and if it will
survive my tests, I'll send real patch.  
  
                                        Best regards,
                                                Petr Vandrovec
                                                vandrove@vc.cvut.cz
                                                

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2002-11-11  2:35 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-11-08 19:42 2.5.46-bk3: BUG in skbuff.c:178 Burton Windle
2002-11-08 20:01 ` Andrew Morton
  -- strict thread matches above, loose matches on Subject: below --
2002-11-08 19:33 Petr Vandrovec
2002-11-08 22:02 ` Petr Vandrovec
2002-11-10  4:18   ` Arnaldo Carvalho de Melo
2002-11-11  2:26     ` Petr Vandrovec
2002-11-11  2:42       ` Arnaldo Carvalho de Melo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.