alloc_skb called nonatomically from interrupt

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Error message: alloc_skb called nonatomically from interrupt a012e029 <sock_alloc_send_pskb>

While doing some debigging on this kernel L2TP module I'm running into the
above message. It's a bit strange since the code is under the impression
it's in a bottom-half. The backtrace is below (running under UML). 

Since the PPP write is going out the UDP socket there has to be some way to
get around this? Is the intention that I should queue the packet here and
schedule a bottom-half myself? But that leads to the same problem again.

I've tried getting it to ignore the message but then later it dies while
allocating memory.

There's also a seperate issue where sendmsg() returns -EFAULT in a real
kernel but succeeds under UML. Any ideas?

#0  alloc_skb (size=93, gfp_mask=496) at skbuff.c:170
#1  0xa012e029 in sock_alloc_send_pskb (sk=<incomplete type>, header_len=93, data_len=0, noblock=0, errcode=<incomplete type>)
    at sock.c:777
#2  0xa012e1c0 in sock_alloc_send_skb (sk=<incomplete type>, size=93, noblock=0, errcode=<incomplete type>) at sock.c:839
#3  0xa0149bf2 in ip_append_data (sk=0xa1028840, getfrag=0xa01498dc <ip_generic_getfrag>, from=0xa0a70460, length=42, 
    transhdrlen=8, ipc=0xa0b1baa0, rt=0xa109e5a0, flags=0) at ip_output.c:846
#4  0xa016ab01 in udp_sendmsg (sk=<incomplete type>, msg=0xa0a70440, len=34) at udp.c:640
#5  0xa2826fad in __pppol2tp_xmit (sk=0xa1028c00, skb=0xa03ff5c0) at pppol2tp.c:1139
#6  0xa2826ffe in pppol2tp_xmit (chan=0xa1105460, skb=0xa03ff5c0) at pppol2tp.c:1159
#7  0xa281f293 in ppp_channel_push (pch=0xa11054e0) at ppp_generic.c:1306
#8  0xa281b76c in ppp_write (file=0xa0b76440, buf=0x8091e22 "À!\001\001", count=26, ppos=0xa0b76460) at ppp_generic.c:464
#9  0xa00476ea in sys_write (fd=8, buf=0x8091e22 "À!\001\001", count=26) at read_write.c:203
#10 0xa00f3de5 in execute_syscall_tt (r=0xa0b18278) at syscall_kern.c:120
#11 0xa00efe19 in execute_syscall (r=0xa0b18278) at syscall_kern.c:315
#12 0xa00f3e9a in syscall_handler_tt (sig=12, regs=0xa0b18278) at syscall_user.c:37
#13 0xa00f17f9 in usr2_handler (sig=12, regs=0xa0b18278) at trap_user.c:73
#14 0xa00f4f29 in sig_handler_common_tt (sig=12, sc_ptr={quot = -1598964440, rem = 1601398116}) at trap_user.c:37
#15 0xa00f181b in sig_handler (sig=12, sc=<incomplete type>) at trap_user.c:101

Thanks in advance,
-- 
Martijn van Oosterhout   <kleptog@svana.org>   http://svana.org/kleptog/
> "All that is needed for the forces of evil to triumph is for enough good
> men to do nothing." - Edmond Burke
> "The penalty good people pay for not being interested in politics is to be
> governed by people worse than themselves." - Plato

Attachment: pgp00128.pgp
Description: PGP signature


[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux