[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-kernel
Subject:    Re: alloc_skb called nonatomically from interrupt.. 2.1.84
From:       "A.N.Kuznetsov" <kuznet () ms2 ! inr ! ac ! ru>
Date:       1998-01-31 19:56:04
[Download RAW message or body]

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

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic