diff options
author | Arnd Bergmann <arnd@arndb.de> | 2010-01-30 12:23:03 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-02-03 20:20:32 -0800 |
commit | 8a83a00b0735190384a348156837918271034144 (patch) | |
tree | f69d903405e2424c196d8648bb6cb18443359373 /include | |
parent | 6884b348ed759184032306c9435a727741a72298 (diff) | |
download | kernel-common-8a83a00b0735190384a348156837918271034144.tar.gz kernel-common-8a83a00b0735190384a348156837918271034144.tar.bz2 kernel-common-8a83a00b0735190384a348156837918271034144.zip |
net: maintain namespace isolation between vlan and real device
In the vlan and macvlan drivers, the start_xmit function forwards
data to the dev_queue_xmit function for another device, which may
potentially belong to a different namespace.
To make sure that classification stays within a single namespace,
this resets the potentially critical fields.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/netdevice.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 93a32a5ca74f..622ba5aa93c4 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -1004,6 +1004,15 @@ static inline bool netdev_uses_dsa_tags(struct net_device *dev) return 0; } +#ifndef CONFIG_NET_NS +static inline void skb_set_dev(struct sk_buff *skb, struct net_device *dev) +{ + skb->dev = dev; +} +#else /* CONFIG_NET_NS */ +void skb_set_dev(struct sk_buff *skb, struct net_device *dev); +#endif + static inline bool netdev_uses_trailer_tags(struct net_device *dev) { #ifdef CONFIG_NET_DSA_TAG_TRAILER |