]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - include/net/busy_poll.h
futex: Split futex_mm_release() for exit/exec
[mirror_ubuntu-bionic-kernel.git] / include / net / busy_poll.h
index 71c72a939bf8b21c5102994ea68796dc89c4f097..c86fcadccbd7924d48e6937e99238a718b1a66f2 100644 (file)
@@ -134,7 +134,7 @@ static inline void skb_mark_napi_id(struct sk_buff *skb,
 static inline void sk_mark_napi_id(struct sock *sk, const struct sk_buff *skb)
 {
 #ifdef CONFIG_NET_RX_BUSY_POLL
-       sk->sk_napi_id = skb->napi_id;
+       WRITE_ONCE(sk->sk_napi_id, skb->napi_id);
 #endif
 }
 
@@ -143,8 +143,8 @@ static inline void sk_mark_napi_id_once(struct sock *sk,
                                        const struct sk_buff *skb)
 {
 #ifdef CONFIG_NET_RX_BUSY_POLL
-       if (!sk->sk_napi_id)
-               sk->sk_napi_id = skb->napi_id;
+       if (!READ_ONCE(sk->sk_napi_id))
+               WRITE_ONCE(sk->sk_napi_id, skb->napi_id);
 #endif
 }