Messages in this thread | | | Date | Sat, 31 Jan 1998 19:56:04 +0300 | From | "A.N.Kuznetsov" <> | Subject | Re: alloc_skb called nonatomically from interrupt.. 2.1.84 |
| |
In article <199801310636.WAA27518@dm.cobaltmicro.com> you wrote: : Just received the above (title) upon booting 2.1.84. The reported : address translated to inet6_rt_notify, and repeated 4 times.
: A lot of pieces of code do things like this, start a BH atomic from : base level code and call something which can only legitimately run : from non-IRQ code under certain circumstances.
: Is this just an oversight, or is there something else going on?
Really, it was misprint and I hope it was the only place where networking really did this weird thing (btw, it was repaired just after 2.1.79 appeared, look at Alan's patch)
Pedro used gfp_any() to make such kind of things, but one day I found that in_interrupt() does not work (at least, on UP) or I do not understand how it does work :-) :-), so that I used GFP_ATOMIC everywhere, where call from bh protected context was possible.
In any case, CORRECT gfp_any() would be very useful thing, especially for IPv6 where almost all the functions can be called both from normal mode and from bh and from bh protected context.
Alexey Kuznetsov
| |