aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/tcp.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv4/tcp.c')
-rw-r--r--net/ipv4/tcp.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index 6b35ab841db..eb77088f305 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -629,8 +629,7 @@ ssize_t tcp_splice_read(struct socket *sock, loff_t *ppos,
629 return ret; 629 return ret;
630} 630}
631 631
632struct sk_buff *sk_stream_alloc_pskb(struct sock *sk, 632struct sk_buff *sk_stream_alloc_skb(struct sock *sk, int size, gfp_t gfp)
633 int size, int mem, gfp_t gfp)
634{ 633{
635 struct sk_buff *skb; 634 struct sk_buff *skb;
636 635
@@ -639,7 +638,6 @@ struct sk_buff *sk_stream_alloc_pskb(struct sock *sk,
639 638
640 skb = alloc_skb_fclone(size + sk->sk_prot->max_header, gfp); 639 skb = alloc_skb_fclone(size + sk->sk_prot->max_header, gfp);
641 if (skb) { 640 if (skb) {
642 skb->truesize += mem;
643 if (sk_stream_wmem_schedule(sk, skb->truesize)) { 641 if (sk_stream_wmem_schedule(sk, skb->truesize)) {
644 /* 642 /*
645 * Make sure that we have exactly size bytes 643 * Make sure that we have exactly size bytes
@@ -692,8 +690,7 @@ new_segment:
692 if (!sk_stream_memory_free(sk)) 690 if (!sk_stream_memory_free(sk))
693 goto wait_for_sndbuf; 691 goto wait_for_sndbuf;
694 692
695 skb = sk_stream_alloc_pskb(sk, 0, 0, 693 skb = sk_stream_alloc_skb(sk, 0, sk->sk_allocation);
696 sk->sk_allocation);
697 if (!skb) 694 if (!skb)
698 goto wait_for_memory; 695 goto wait_for_memory;
699 696
@@ -873,8 +870,8 @@ new_segment:
873 if (!sk_stream_memory_free(sk)) 870 if (!sk_stream_memory_free(sk))
874 goto wait_for_sndbuf; 871 goto wait_for_sndbuf;
875 872
876 skb = sk_stream_alloc_pskb(sk, select_size(sk), 873 skb = sk_stream_alloc_skb(sk, select_size(sk),
877 0, sk->sk_allocation); 874 sk->sk_allocation);
878 if (!skb) 875 if (!skb)
879 goto wait_for_memory; 876 goto wait_for_memory;
880 877