diff options
| author | Herbert Xu <herbert@gondor.apana.org.au> | 2010-05-24 03:14:10 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2010-05-24 03:14:10 -0400 |
| commit | 8286274284e15b11b0f531b6ceeef21fbe00a8dd (patch) | |
| tree | 1e63dabdbc60f3409710cf58ed351e2a1f262941 | |
| parent | f845172531fb7410c7fb7780b1a6e51ee6df7d52 (diff) | |
tun: Update classid on packet injection
This patch makes tun update its socket classid every time we
inject a packet into the network stack. This is so that any
updates made by the admin to the process writing packets to
tun is effected.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
| -rw-r--r-- | drivers/net/tun.c | 2 | ||||
| -rw-r--r-- | net/core/sock.c | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/tun.c b/drivers/net/tun.c index 97b25533e5fb..8793c2bf7f15 100644 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c | |||
| @@ -526,6 +526,8 @@ static inline struct sk_buff *tun_alloc_skb(struct tun_struct *tun, | |||
| 526 | struct sk_buff *skb; | 526 | struct sk_buff *skb; |
| 527 | int err; | 527 | int err; |
| 528 | 528 | ||
| 529 | sock_update_classid(sk); | ||
| 530 | |||
| 529 | /* Under a page? Don't bother with paged skb. */ | 531 | /* Under a page? Don't bother with paged skb. */ |
| 530 | if (prepad + len < PAGE_SIZE || !linear) | 532 | if (prepad + len < PAGE_SIZE || !linear) |
| 531 | linear = len; | 533 | linear = len; |
diff --git a/net/core/sock.c b/net/core/sock.c index a05ae7f9771e..37fe9b6adade 100644 --- a/net/core/sock.c +++ b/net/core/sock.c | |||
| @@ -1064,6 +1064,7 @@ void sock_update_classid(struct sock *sk) | |||
| 1064 | if (classid && classid != sk->sk_classid) | 1064 | if (classid && classid != sk->sk_classid) |
| 1065 | sk->sk_classid = classid; | 1065 | sk->sk_classid = classid; |
| 1066 | } | 1066 | } |
| 1067 | EXPORT_SYMBOL(sock_update_classid); | ||
| 1067 | #endif | 1068 | #endif |
| 1068 | 1069 | ||
| 1069 | /** | 1070 | /** |
