X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=include%2Fnet%2Fsock.h;h=1d37a8086bed53575fedc30b9c1db750d4cd2822;hb=5acb8bb4412554db6346a4010c04e7e0f57324d0;hp=6ba2e7b0e2b1300f3983ef4d3c845e257d46c579;hpb=b5f0998cae3d7ea56d3d8377e46328fe972b9546;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