xfrm: Fix NULL pointer dereference on sub policy usage
authorSteffen Klassert <steffen.klassert@secunet.com>
Wed, 19 Feb 2014 12:33:23 +0000 (13:33 +0100)
committerSteffen Klassert <steffen.klassert@secunet.com>
Thu, 20 Feb 2014 13:29:58 +0000 (14:29 +0100)
xfrm_state_sort() takes the unsorted states from the src array
and stores them into the dst array. We try to get the namespace
from the dst array which is empty at this time, so take the
namespace from the src array instead.

Fixes: 283bc9f35bbbc ("xfrm: Namespacify xfrm state/policy locks")
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
net/xfrm/xfrm_state.c

index a26b7aa794755f970756cadb3c817bfc500956d2..97d117b80ba4cb254c56dedc99e7338a8ac04b5d 100644 (file)
@@ -1451,7 +1451,7 @@ xfrm_state_sort(struct xfrm_state **dst, struct xfrm_state **src, int n,
 {
        int err = 0;
        struct xfrm_state_afinfo *afinfo = xfrm_state_get_afinfo(family);
-       struct net *net = xs_net(*dst);
+       struct net *net = xs_net(*src);
 
        if (!afinfo)
                return -EAFNOSUPPORT;