diff options
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/sock.h | 8 |
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 | ||
1332 | static inline bool sk_rmem_schedule(struct sock *sk, int size) | 1332 | static inline bool |
1333 | sk_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 | ||
1340 | static inline void sk_mem_reclaim(struct sock *sk) | 1342 | static inline void sk_mem_reclaim(struct sock *sk) |