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:
committed by
Todd Kjos
parent
1aeba0549a
commit
acd0c09fbb
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user