diff options
Diffstat (limited to 'security/selinux/hooks.c')
| -rw-r--r-- | security/selinux/hooks.c | 7 | 
1 files changed, 7 insertions, 0 deletions
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c index 2fa28c88900..7171a957b93 100644 --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c @@ -51,6 +51,7 @@  #include <linux/tty.h>  #include <net/icmp.h>  #include <net/ip.h>		/* for local_port_range[] */ +#include <net/sock.h>  #include <net/tcp.h>		/* struct or_callable used in sock_rcv_skb */  #include <net/net_namespace.h>  #include <net/netlabel.h> @@ -4363,6 +4364,11 @@ static void selinux_inet_conn_established(struct sock *sk, struct sk_buff *skb)  	selinux_skb_peerlbl_sid(skb, family, &sksec->peer_sid);  } +static void selinux_skb_owned_by(struct sk_buff *skb, struct sock *sk) +{ +	skb_set_owner_w(skb, sk); +} +  static int selinux_secmark_relabel_packet(u32 sid)  {  	const struct task_security_struct *__tsec; @@ -5664,6 +5670,7 @@ static struct security_operations selinux_ops = {  	.tun_dev_attach_queue =		selinux_tun_dev_attach_queue,  	.tun_dev_attach =		selinux_tun_dev_attach,  	.tun_dev_open =			selinux_tun_dev_open, +	.skb_owned_by =			selinux_skb_owned_by,  #ifdef CONFIG_SECURITY_NETWORK_XFRM  	.xfrm_policy_alloc_security =	selinux_xfrm_policy_alloc,  | 
