diff options
Diffstat (limited to 'net/ipv4/ip_sockglue.c')
| -rw-r--r-- | net/ipv4/ip_sockglue.c | 5 | 
1 files changed, 3 insertions, 2 deletions
diff --git a/net/ipv4/ip_sockglue.c b/net/ipv4/ip_sockglue.c index 14bbfcf717a..3c9d2088028 100644 --- a/net/ipv4/ip_sockglue.c +++ b/net/ipv4/ip_sockglue.c @@ -989,13 +989,14 @@ mc_msf_out:  	case IP_IPSEC_POLICY:  	case IP_XFRM_POLICY:  		err = -EPERM; -		if (!capable(CAP_NET_ADMIN)) +		if (!ns_capable(sock_net(sk)->user_ns, CAP_NET_ADMIN))  			break;  		err = xfrm_user_policy(sk, optname, optval, optlen);  		break;  	case IP_TRANSPARENT: -		if (!!val && !capable(CAP_NET_RAW) && !capable(CAP_NET_ADMIN)) { +		if (!!val && !ns_capable(sock_net(sk)->user_ns, CAP_NET_RAW) && +		    !ns_capable(sock_net(sk)->user_ns, CAP_NET_ADMIN)) {  			err = -EPERM;  			break;  		}  |