diff options
Diffstat (limited to 'net/ipv6')
| -rw-r--r-- | net/ipv6/sit.c | 5 | 
1 files changed, 3 insertions, 2 deletions
| diff --git a/net/ipv6/sit.c b/net/ipv6/sit.c index df5bea818410..33adc12b697d 100644 --- a/net/ipv6/sit.c +++ b/net/ipv6/sit.c @@ -321,7 +321,7 @@ static int ipip6_tunnel_get_prl(struct net_device *dev, struct ifreq *ifr)  	 * we try harder to allocate.  	 */  	kp = (cmax <= 1 || capable(CAP_NET_ADMIN)) ? -		kcalloc(cmax, sizeof(*kp), GFP_KERNEL | __GFP_NOWARN) : +		kcalloc(cmax, sizeof(*kp), GFP_KERNEL_ACCOUNT | __GFP_NOWARN) :  		NULL;  	rcu_read_lock(); @@ -334,7 +334,8 @@ static int ipip6_tunnel_get_prl(struct net_device *dev, struct ifreq *ifr)  		 * For root users, retry allocating enough memory for  		 * the answer.  		 */ -		kp = kcalloc(ca, sizeof(*kp), GFP_ATOMIC); +		kp = kcalloc(ca, sizeof(*kp), GFP_ATOMIC | __GFP_ACCOUNT | +					      __GFP_NOWARN);  		if (!kp) {  			ret = -ENOMEM;  			goto out; |