]> Git Repo - linux.git/commitdiff
xfrm: put policies when reusing pcpu xdst entry
authorFlorian Westphal <[email protected]>
Mon, 11 Dec 2017 17:23:09 +0000 (18:23 +0100)
committerSteffen Klassert <[email protected]>
Tue, 12 Dec 2017 05:39:05 +0000 (06:39 +0100)
We need to put the policies when re-using the pcpu xdst entry, else
this leaks the reference.

Fixes: ec30d78c14a813db39a647b6a348b428 ("xfrm: add xdst pcpu cache")
Signed-off-by: Florian Westphal <[email protected]>
Signed-off-by: Steffen Klassert <[email protected]>
net/xfrm/xfrm_policy.c

index 038ec68f6901f0643366f0f3c035a4054aed04b7..70aa5cb0c659d54eacb85f92dc95b2db17bfe1d0 100644 (file)
@@ -1839,6 +1839,7 @@ xfrm_resolve_and_create_bundle(struct xfrm_policy **pols, int num_pols,
                   sizeof(struct xfrm_policy *) * num_pols) == 0 &&
            xfrm_xdst_can_reuse(xdst, xfrm, err)) {
                dst_hold(&xdst->u.dst);
+               xfrm_pols_put(pols, num_pols);
                while (err > 0)
                        xfrm_state_put(xfrm[--err]);
                return xdst;
This page took 0.063159 seconds and 4 git commands to generate.