diff options
| author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-10-26 06:39:46 +0900 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-10-26 06:39:46 +0900 |
| commit | 0bbc367e21bfeea33230d893be4fa3a3ff9bcb48 (patch) | |
| tree | 50fb335648a22ac519eddb772714ba64a3e6a7ec /include/net/sock.h | |
| parent | ae416ba4e94a30486ba2af0afe052579e7114ab8 (diff) | |
| parent | 32b88194f71d6ae7768a29f87fbba454728273ee (diff) | |
Merge 4.3-rc7 into usb-next
We want the USB and other fixes in here as well.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/net/sock.h')
| -rw-r--r-- | include/net/sock.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/net/sock.h b/include/net/sock.h index 7aa78440559a..e23717013a4e 100644 --- a/include/net/sock.h +++ b/include/net/sock.h @@ -828,6 +828,14 @@ static inline __must_check int sk_add_backlog(struct sock *sk, struct sk_buff *s if (sk_rcvqueues_full(sk, limit)) return -ENOBUFS; + /* + * If the skb was allocated from pfmemalloc reserves, only + * allow SOCK_MEMALLOC sockets to use it as this socket is + * helping free memory + */ + if (skb_pfmemalloc(skb) && !sock_flag(sk, SOCK_MEMALLOC)) + return -ENOMEM; + __sk_add_backlog(sk, skb); sk->sk_backlog.len += skb->truesize; return 0; |
