tcp: cleanup tcp_remove_empty_skb() use
[ Upstream commit27728ba80f
] All tcp_remove_empty_skb() callers now use tcp_write_queue_tail() for the skb argument, we can therefore factorize code. Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net> Stable-dep-of:72377ab2d6
("mptcp: more conservative check for zero probes") Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Родитель
68342755b9
Коммит
fd2b2dab6f
|
@ -314,7 +314,7 @@ void tcp_shutdown(struct sock *sk, int how);
|
|||
int tcp_v4_early_demux(struct sk_buff *skb);
|
||||
int tcp_v4_rcv(struct sk_buff *skb);
|
||||
|
||||
void tcp_remove_empty_skb(struct sock *sk, struct sk_buff *skb);
|
||||
void tcp_remove_empty_skb(struct sock *sk);
|
||||
int tcp_v4_tw_remember_stamp(struct inet_timewait_sock *tw);
|
||||
int tcp_sendmsg(struct sock *sk, struct msghdr *msg, size_t size);
|
||||
int tcp_sendmsg_locked(struct sock *sk, struct msghdr *msg, size_t size);
|
||||
|
|
|
@ -953,8 +953,10 @@ int tcp_send_mss(struct sock *sk, int *size_goal, int flags)
|
|||
* importantly be able to generate EPOLLOUT for Edge Trigger epoll()
|
||||
* users.
|
||||
*/
|
||||
void tcp_remove_empty_skb(struct sock *sk, struct sk_buff *skb)
|
||||
void tcp_remove_empty_skb(struct sock *sk)
|
||||
{
|
||||
struct sk_buff *skb = tcp_write_queue_tail(sk);
|
||||
|
||||
if (skb && TCP_SKB_CB(skb)->seq == TCP_SKB_CB(skb)->end_seq) {
|
||||
tcp_unlink_write_queue(skb, sk);
|
||||
if (tcp_write_queue_empty(sk))
|
||||
|
@ -1107,7 +1109,7 @@ out:
|
|||
return copied;
|
||||
|
||||
do_error:
|
||||
tcp_remove_empty_skb(sk, tcp_write_queue_tail(sk));
|
||||
tcp_remove_empty_skb(sk);
|
||||
if (copied)
|
||||
goto out;
|
||||
out_err:
|
||||
|
@ -1429,8 +1431,7 @@ out_nopush:
|
|||
return copied + copied_syn;
|
||||
|
||||
do_error:
|
||||
skb = tcp_write_queue_tail(sk);
|
||||
tcp_remove_empty_skb(sk, skb);
|
||||
tcp_remove_empty_skb(sk);
|
||||
|
||||
if (copied + copied_syn)
|
||||
goto out;
|
||||
|
|
|
@ -1338,7 +1338,7 @@ alloc_skb:
|
|||
u64 snd_una = READ_ONCE(msk->snd_una);
|
||||
|
||||
if (snd_una != msk->snd_nxt) {
|
||||
tcp_remove_empty_skb(ssk, tcp_write_queue_tail(ssk));
|
||||
tcp_remove_empty_skb(ssk);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1354,7 +1354,7 @@ alloc_skb:
|
|||
|
||||
copy = min_t(size_t, copy, info->limit - info->sent);
|
||||
if (!sk_wmem_schedule(ssk, copy)) {
|
||||
tcp_remove_empty_skb(ssk, tcp_write_queue_tail(ssk));
|
||||
tcp_remove_empty_skb(ssk);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче