Thread (35 messages) 35 messages, 9 authors, 2008-04-21

Re: [RFC,PATCH] loopback: calls netif_receive_skb() instead of netif_rx()

From: David Miller <davem@davemloft.net>
Date: 2008-03-31 10:08:57
Also in: lkml

From: Ingo Molnar <redacted>
Date: Mon, 31 Mar 2008 11:48:23 +0200
* Eric Dumazet [off-list ref] wrote:
quoted
I noticed some paths in kernel are very stack aggressive, and on i386 
with CONFIG_4KSTACKS we were really in a dangerous land, even without 
my patch.

What we call 4K stacks is in fact 4K - sizeof(struct task_struct), so 
a litle bit more than 2K. [...]
that's just wrong - 4K stacks on x86 are 4K-sizeof(thread_info) - the 
task struct is allocated elsewhere. The patch below runs just fine on 
4K-stack x86.
I don't think it's safe.

Every packet you receive can result in a sent packet, which
in turn can result in a full packet receive path being
taken, and yet again another sent packet.

And so on and so forth.

Some cases like this would be stack bugs, but wouldn't
you like that bug to be a very busy cpu instead of a
crash from overrunning the current stack?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help