]> err.no Git - linux-2.6/commit
[IPV4]: Fix BUG() in 2.6.x, udp_poll(), fragments + CONFIG_HIGHMEM
authorHerbert Xu <herbert@gondor.apana.org.au>
Mon, 30 May 2005 22:50:15 +0000 (15:50 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 30 May 2005 22:50:15 +0000 (15:50 -0700)
commit208d89843b7b03978d8e748b8b991c1be81c4f43
tree10669e257624aa511eb6b14db296e40f9db777cc
parent9bb7bc942d3da606f184ac6a4dfc7e4d470c831b
[IPV4]: Fix BUG() in 2.6.x, udp_poll(), fragments + CONFIG_HIGHMEM

Steven Hand <Steven.Hand@cl.cam.ac.uk> wrote:
>
> Reconstructed forward trace:
>
>   net/ipv4/udp.c:1334   spin_lock_irq()
>   net/ipv4/udp.c:1336   udp_checksum_complete()
> net/core/skbuff.c:1069   skb_shinfo(skb)->nr_frags > 1
> net/core/skbuff.c:1086   kunmap_skb_frag()
> net/core/skbuff.h:1087   local_bh_enable()
> kernel/softirq.c:0140   WARN_ON(irqs_disabled());

The receive queue lock is never taken in IRQs (and should never be) so
we can simply substitute bh for irq.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/udp.c