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



From: Ingo Molnar <mingo@xxxxxxx>
Date: Mon, 31 Mar 2008 11:48:23 +0200


* Eric Dumazet <dada1@xxxxxxxxxxxxx> wrote:

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?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



Relevant Pages

  • Re: panic with ng_ipfw+ng_car and net.inet.ip.fw.one_pass=0
    ... But if the rules were reloaded while the packet was sitting in ng_car, ... through the netgraph man I haven't figured out how it could be done if it is ... When the packet is directed by ipfw to netgraph ... another version of the patch is attached. ...
    (freebsd-net)
  • [PATCH] Part 1 of low level 802.1p priority support
    ... Here is the first patch to bring in 802.1p Packet Priority to FreeBSD; this is to support Differentiated Services and Quality-of-Service. ... This first stage enables FreeBSD to pass packets for 802.1q with VLAN 0 to the main input path in the stack, which is the IEEE standards-compliant behaviour. ...
    (freebsd-net)
  • [Full-disclosure] multiple vendor - PF NULL pointer dereference
    ... @Other security websites: Please modify the URL in your DB in case you do keep ... Affected Software: PF (OpenBSD Packet Filter) ... We received no response nor a notification about an upcoming patch. ...
    (Full-Disclosure)
  • multiple vendor - PF NULL pointer dereference
    ... @Other security websites: Please modify the URL in your DB in case you do keep ... Affected Software: PF (OpenBSD Packet Filter) ... We received no response nor a notification about an upcoming patch. ...
    (Bugtraq)
  • Re: Packet loss every 30.999 seconds
    ... Just to confirm the patch did not change the behavior. ... It looks like if you put the check at the top of the loop and the next node ... to increment if_ipackets but still lose the packet. ... not trigger the problem, but also be high enough to not significantly ...
    (freebsd-stable)