Revert "Revert "net-timestamp: convert sk->sk_tskey to atomic_t""

This reverts commit 0e189b0893.

It is no longer needed as we can modify the KABI at this point in time.

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I361d61ed4282366eea314224870ff8d02ebb7311
This commit is contained in:
Greg Kroah-Hartman
2022-03-16 15:52:05 +01:00
committed by Todd Kjos
parent 1aeba0549a
commit acd0c09fbb
6 changed files with 8 additions and 8 deletions

View File

@@ -506,7 +506,7 @@ struct sock {
u16 sk_tsflags; u16 sk_tsflags;
int sk_bind_phc; int sk_bind_phc;
u8 sk_shutdown; u8 sk_shutdown;
u32 sk_tskey; atomic_t sk_tskey;
atomic_t sk_zckey; atomic_t sk_zckey;
u8 sk_clockid; u8 sk_clockid;
@@ -2598,7 +2598,7 @@ static inline void _sock_tx_timestamp(struct sock *sk, __u16 tsflags,
__sock_tx_timestamp(tsflags, tx_flags); __sock_tx_timestamp(tsflags, tx_flags);
if (tsflags & SOF_TIMESTAMPING_OPT_ID && tskey && if (tsflags & SOF_TIMESTAMPING_OPT_ID && tskey &&
tsflags & SOF_TIMESTAMPING_TX_RECORD_MASK) tsflags & SOF_TIMESTAMPING_TX_RECORD_MASK)
*tskey = sk->sk_tskey++; *tskey = atomic_inc_return(&sk->sk_tskey) - 1;
} }
if (unlikely(sock_flag(sk, SOCK_WIFI_STATUS))) if (unlikely(sock_flag(sk, SOCK_WIFI_STATUS)))
*tx_flags |= SKBTX_WIFI_STATUS; *tx_flags |= SKBTX_WIFI_STATUS;

View File

@@ -2006,7 +2006,7 @@ struct j1939_session *j1939_tp_send(struct j1939_priv *priv,
/* set the end-packet for broadcast */ /* set the end-packet for broadcast */
session->pkt.last = session->pkt.total; session->pkt.last = session->pkt.total;
skcb->tskey = session->sk->sk_tskey++; skcb->tskey = atomic_inc_return(&session->sk->sk_tskey) - 1;
session->tskey = skcb->tskey; session->tskey = skcb->tskey;
return session; return session;

View File

@@ -4846,7 +4846,7 @@ static void __skb_complete_tx_timestamp(struct sk_buff *skb,
serr->ee.ee_data = skb_shinfo(skb)->tskey; serr->ee.ee_data = skb_shinfo(skb)->tskey;
if (sk->sk_protocol == IPPROTO_TCP && if (sk->sk_protocol == IPPROTO_TCP &&
sk->sk_type == SOCK_STREAM) sk->sk_type == SOCK_STREAM)
serr->ee.ee_data -= sk->sk_tskey; serr->ee.ee_data -= atomic_read(&sk->sk_tskey);
} }
err = sock_queue_err_skb(sk, skb); err = sock_queue_err_skb(sk, skb);

View File

@@ -867,9 +867,9 @@ int sock_set_timestamping(struct sock *sk, int optname,
if ((1 << sk->sk_state) & if ((1 << sk->sk_state) &
(TCPF_CLOSE | TCPF_LISTEN)) (TCPF_CLOSE | TCPF_LISTEN))
return -EINVAL; return -EINVAL;
sk->sk_tskey = tcp_sk(sk)->snd_una; atomic_set(&sk->sk_tskey, tcp_sk(sk)->snd_una);
} else { } else {
sk->sk_tskey = 0; atomic_set(&sk->sk_tskey, 0);
} }
} }

View File

@@ -992,7 +992,7 @@ static int __ip_append_data(struct sock *sk,
if (cork->tx_flags & SKBTX_ANY_SW_TSTAMP && if (cork->tx_flags & SKBTX_ANY_SW_TSTAMP &&
sk->sk_tsflags & SOF_TIMESTAMPING_OPT_ID) sk->sk_tsflags & SOF_TIMESTAMPING_OPT_ID)
tskey = sk->sk_tskey++; tskey = atomic_inc_return(&sk->sk_tskey) - 1;
hh_len = LL_RESERVED_SPACE(rt->dst.dev); hh_len = LL_RESERVED_SPACE(rt->dst.dev);

View File

@@ -1463,7 +1463,7 @@ static int __ip6_append_data(struct sock *sk,
if (cork->tx_flags & SKBTX_ANY_SW_TSTAMP && if (cork->tx_flags & SKBTX_ANY_SW_TSTAMP &&
sk->sk_tsflags & SOF_TIMESTAMPING_OPT_ID) sk->sk_tsflags & SOF_TIMESTAMPING_OPT_ID)
tskey = sk->sk_tskey++; tskey = atomic_inc_return(&sk->sk_tskey) - 1;
hh_len = LL_RESERVED_SPACE(rt->dst.dev); hh_len = LL_RESERVED_SPACE(rt->dst.dev);