Commit 3c961afe authored by Pavel Emelyanov's avatar Pavel Emelyanov Committed by David S. Miller

tcp: Schedule rmem for rcvq repair send

As noted by Eric, no checks are performed on the data size we're
putting in the read queue during repair. Thus, validate the given
data size with the common rmem management routine.
Signed-off-by: default avatarPavel Emelyanov <xemul@parallels.com>
Acked-by: default avatarEric Dumazet <edumazet@google.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 292e8d8c
...@@ -4769,6 +4769,9 @@ int tcp_send_rcvq(struct sock *sk, struct msghdr *msg, size_t size) ...@@ -4769,6 +4769,9 @@ int tcp_send_rcvq(struct sock *sk, struct msghdr *msg, size_t size)
struct tcphdr *th; struct tcphdr *th;
bool fragstolen; bool fragstolen;
if (tcp_try_rmem_schedule(sk, size + sizeof(*th)))
goto err;
skb = alloc_skb(size + sizeof(*th), sk->sk_allocation); skb = alloc_skb(size + sizeof(*th), sk->sk_allocation);
if (!skb) if (!skb)
goto err; goto err;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment