From: Andrew Morton <[email protected]>
Date: Mon, 30 May 2005 14:17:14 -0700
> That local_bh_disable() in kmap_skb_frag() looks weird and might be
> unnecessary. Does anyone know what it's there for? Replace it with
> local_irq_save()?
The SKB kmap types are to be used only from BH context.
So the local_bh_disable() is really necessary.
This limitation causes problems elsewhere too, for example if the tg3
driver has to do the 4GB DMA boundary workaround on transmit, then it
tries to do a skb_copy() in IRQ disabled context, which thusly also
tries to do some SKB kmapping and triggers the same assertion seen
here.
Both UDP and tg3 need to be fixed to not do these operations from such
illegal contexts.
It really stinks that this error on triggers with highmem enabled.
We would have seen both bugs much earlier on otherwise.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]