diff --git a/include/net/inet_sock.h b/include/net/inet_sock.h index d105b943b2f47b17b0330b8e32da673939ba74ab..9a286c943871c3922f8264390adf587715760459 100644 --- a/include/net/inet_sock.h +++ b/include/net/inet_sock.h @@ -108,7 +108,8 @@ static inline struct inet_request_sock *inet_rsk(const struct request_sock *sk) static inline u32 inet_request_mark(const struct sock *sk, struct sk_buff *skb) { - if (!sk->sk_mark && sock_net(sk)->ipv4.sysctl_tcp_fwmark_accept) + if (!sk->sk_mark && + READ_ONCE(sock_net(sk)->ipv4.sysctl_tcp_fwmark_accept)) return skb->mark; return sk->sk_mark;