]> git.baikalelectronics.ru Git - kernel.git/commit
[XFRM]: Fix aevent related crash
authorPatrick McHardy <kaber@trash.net>
Tue, 21 Mar 2006 06:40:54 +0000 (22:40 -0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 21 Mar 2006 06:40:54 +0000 (22:40 -0800)
commit13f8d9dbb27ad0634a11ad6f5c4ab2d459c50cb1
tree08c7be2ba1d046fca40bbb1d3ddac789b393ecc9
parentc34a9eda05490c92abedaeea194b3d3b49f965e0
[XFRM]: Fix aevent related crash

When xfrm_user isn't loaded xfrm_nl is NULL, which makes IPsec crash because
xfrm_aevent_is_on passes the NULL pointer to netlink_has_listeners as socket.
A second problem is that the xfrm_nl pointer is not cleared when the socket
is releases at module unload time.

Protect references of xfrm_nl from outside of xfrm_user by RCU, check
that the socket is present in xfrm_aevent_is_on and set it to NULL
when unloading xfrm_user.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/xfrm.h
net/xfrm/xfrm_user.c