X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=include%2Fnet%2Fsock.h;h=1d37a8086bed53575fedc30b9c1db750d4cd2822;hb=5acb8bb4412554db6346a4010c04e7e0f57324d0;hp=6ba2e7b0e2b1300f3983ef4d3c845e257d46c579;hpb=4b97280675f45c1650ee4e388bd711ecbb18c4b4;p=~andy%2Flinux diff --git a/include/net/sock.h b/include/net/sock.h index 6ba2e7b0e2b..1d37a8086be 100644 --- a/include/net/sock.h +++ b/include/net/sock.h @@ -409,6 +409,11 @@ struct sock { void (*sk_destruct)(struct sock *sk); }; +#define __sk_user_data(sk) ((*((void __rcu **)&(sk)->sk_user_data))) + +#define rcu_dereference_sk_user_data(sk) rcu_dereference(__sk_user_data((sk))) +#define rcu_assign_sk_user_data(sk, ptr) rcu_assign_pointer(__sk_user_data((sk)), ptr) + /* * SK_CAN_REUSE and SK_NO_REUSE on a socket mean that the socket is OK * or not whether his port will be reused by someone else. SK_FORCE_REUSE