@@ -469,8 +469,10 @@ void tcp_init_transfer(struct sock *sk, int bpf_op)
469
469
tcp_init_buffer_space (sk );
470
470
}
471
471
472
- static void tcp_tx_timestamp (struct sock * sk , u16 tsflags , struct sk_buff * skb )
472
+ static void tcp_tx_timestamp (struct sock * sk , u16 tsflags )
473
473
{
474
+ struct sk_buff * skb = tcp_write_queue_tail (sk );
475
+
474
476
if (tsflags && skb ) {
475
477
struct skb_shared_info * shinfo = skb_shinfo (skb );
476
478
struct tcp_skb_cb * tcb = TCP_SKB_CB (skb );
@@ -1041,7 +1043,7 @@ ssize_t do_tcp_sendpages(struct sock *sk, struct page *page, int offset,
1041
1043
1042
1044
out :
1043
1045
if (copied ) {
1044
- tcp_tx_timestamp (sk , sk -> sk_tsflags , tcp_write_queue_tail ( sk ) );
1046
+ tcp_tx_timestamp (sk , sk -> sk_tsflags );
1045
1047
if (!(flags & MSG_SENDPAGE_NOTLAST ))
1046
1048
tcp_push (sk , flags , mss_now , tp -> nonagle , size_goal );
1047
1049
}
@@ -1418,7 +1420,7 @@ int tcp_sendmsg_locked(struct sock *sk, struct msghdr *msg, size_t size)
1418
1420
1419
1421
out :
1420
1422
if (copied ) {
1421
- tcp_tx_timestamp (sk , sockc .tsflags , tcp_write_queue_tail ( sk ) );
1423
+ tcp_tx_timestamp (sk , sockc .tsflags );
1422
1424
tcp_push (sk , flags , mss_now , tp -> nonagle , size_goal );
1423
1425
}
1424
1426
out_nopush :
0 commit comments