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>
This commit is contained in:
committed by
David S. Miller
parent
f845172531
commit
8286274284
@@ -526,6 +526,8 @@ static inline struct sk_buff *tun_alloc_skb(struct tun_struct *tun,
|
|||||||
struct sk_buff *skb;
|
struct sk_buff *skb;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
|
sock_update_classid(sk);
|
||||||
|
|
||||||
/* Under a page? Don't bother with paged skb. */
|
/* Under a page? Don't bother with paged skb. */
|
||||||
if (prepad + len < PAGE_SIZE || !linear)
|
if (prepad + len < PAGE_SIZE || !linear)
|
||||||
linear = len;
|
linear = len;
|
||||||
|
@@ -1064,6 +1064,7 @@ void sock_update_classid(struct sock *sk)
|
|||||||
if (classid && classid != sk->sk_classid)
|
if (classid && classid != sk->sk_classid)
|
||||||
sk->sk_classid = classid;
|
sk->sk_classid = classid;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(sock_update_classid);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user