net: xfrm: Add '_rcu' tag for rcu protected pointer in netns_xfrm
authorSu Yanjun <suyj.fnst@cn.fujitsu.com>
Thu, 7 Mar 2019 01:54:08 +0000 (20:54 -0500)
committerSteffen Klassert <steffen.klassert@secunet.com>
Fri, 8 Mar 2019 12:17:31 +0000 (13:17 +0100)
commitf10e0010fae8174dc20bdc872bcaa85baa925cb7
treee8280e2b40b5c8647e7cea9d12f5c1ce260c6572
parent6ed69184ed9c43873b8a1ee721e3bf3c08c2c6be
net: xfrm: Add '_rcu' tag for rcu protected pointer in netns_xfrm

For rcu protected pointers, we'd better add '__rcu' for them.

Once added '__rcu' tag for rcu protected pointer, the sparse tool reports
warnings.

net/xfrm/xfrm_user.c:1198:39: sparse:    expected struct sock *sk
net/xfrm/xfrm_user.c:1198:39: sparse:    got struct sock [noderef] <asn:4> *nlsk
[...]

So introduce a new wrapper function of nlmsg_unicast  to handle type
conversions.

This patch also fixes a direct access of a rcu protected socket.

Fixes: be33690d8fcf("[XFRM]: Fix aevent related crash")
Signed-off-by: Su Yanjun <suyj.fnst@cn.fujitsu.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
include/net/netns/xfrm.h
net/xfrm/xfrm_user.c