aboutsummaryrefslogtreecommitdiffstats
path: root/include/net
diff options
context:
space:
mode:
Diffstat (limited to 'include/net')
-rw-r--r--include/net/sock.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/include/net/sock.h b/include/net/sock.h
index 43a470d40d7..b3730239bf1 100644
--- a/include/net/sock.h
+++ b/include/net/sock.h
@@ -1329,12 +1329,14 @@ static inline bool sk_wmem_schedule(struct sock *sk, int size)
1329 __sk_mem_schedule(sk, size, SK_MEM_SEND); 1329 __sk_mem_schedule(sk, size, SK_MEM_SEND);
1330} 1330}
1331 1331
1332static inline bool sk_rmem_schedule(struct sock *sk, int size) 1332static inline bool
1333sk_rmem_schedule(struct sock *sk, struct sk_buff *skb, unsigned int size)
1333{ 1334{
1334 if (!sk_has_account(sk)) 1335 if (!sk_has_account(sk))
1335 return true; 1336 return true;
1336 return size <= sk->sk_forward_alloc || 1337 return size<= sk->sk_forward_alloc ||
1337 __sk_mem_schedule(sk, size, SK_MEM_RECV); 1338 __sk_mem_schedule(sk, size, SK_MEM_RECV) ||
1339 skb_pfmemalloc(skb);
1338} 1340}
1339 1341
1340static inline void sk_mem_reclaim(struct sock *sk) 1342static inline void sk_mem_reclaim(struct sock *sk)