diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2007-09-17 14:53:39 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-10-10 19:49:08 -0400 |
commit | e730c15519d09ea528b4d2f1103681fa5937c0e6 (patch) | |
tree | c117294523f4d004fb1d740610b6403e5744cdfc /drivers/net/pppoe.c | |
parent | 6d34b1c27a72d5d1c73c567b2f6b1fde316e0eae (diff) |
[NET]: Make packet reception network namespace safe
This patch modifies every packet receive function
registered with dev_add_pack() to drop packets if they
are not from the initial network namespace.
This should ensure that the various network stacks do
not receive packets in a anything but the initial network
namespace until the code has been converted and is ready
for them.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/pppoe.c')
-rw-r--r-- | drivers/net/pppoe.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/pppoe.c b/drivers/net/pppoe.c index 53fcee26d6ae..60c0e4e17875 100644 --- a/drivers/net/pppoe.c +++ b/drivers/net/pppoe.c | |||
@@ -389,6 +389,9 @@ static int pppoe_rcv(struct sk_buff *skb, | |||
389 | if (!(skb = skb_share_check(skb, GFP_ATOMIC))) | 389 | if (!(skb = skb_share_check(skb, GFP_ATOMIC))) |
390 | goto out; | 390 | goto out; |
391 | 391 | ||
392 | if (dev->nd_net != &init_net) | ||
393 | goto drop; | ||
394 | |||
392 | if (!pskb_may_pull(skb, sizeof(struct pppoe_hdr))) | 395 | if (!pskb_may_pull(skb, sizeof(struct pppoe_hdr))) |
393 | goto drop; | 396 | goto drop; |
394 | 397 | ||
@@ -418,6 +421,9 @@ static int pppoe_disc_rcv(struct sk_buff *skb, | |||
418 | struct pppoe_hdr *ph; | 421 | struct pppoe_hdr *ph; |
419 | struct pppox_sock *po; | 422 | struct pppox_sock *po; |
420 | 423 | ||
424 | if (dev->nd_net != &init_net) | ||
425 | goto abort; | ||
426 | |||
421 | if (!pskb_may_pull(skb, sizeof(struct pppoe_hdr))) | 427 | if (!pskb_may_pull(skb, sizeof(struct pppoe_hdr))) |
422 | goto abort; | 428 | goto abort; |
423 | 429 | ||