lkml.org 
[lkml]   [2011]   [Apr]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[27/70] xfrm: Refcount destination entry on xfrm_lookup
    2.6.38-stable review patch.  If anyone has any objections, please let us know.

    ------------------


    From: Steffen Klassert <steffen.klassert@secunet.com>

    [ Upstream commit fbd5060875d25f7764fd1c3d35b83a8ed1d88d7b ]

    We return a destination entry without refcount if a socket
    policy is found in xfrm_lookup. This triggers a warning on
    a negative refcount when freeeing this dst entry. So take
    a refcount in this case to fix it.

    This refcount was forgotten when xfrm changed to cache bundles
    instead of policies for outgoing flows.

    Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
    Acked-by: Timo Teräs <timo.teras@iki.fi>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    ---
    net/xfrm/xfrm_policy.c | 2 ++
    1 file changed, 2 insertions(+)

    --- a/net/xfrm/xfrm_policy.c
    +++ b/net/xfrm/xfrm_policy.c
    @@ -1778,6 +1778,8 @@ restart:
    goto no_transform;
    }

    + dst_hold(&xdst->u.dst);
    +
    spin_lock_bh(&xfrm_policy_sk_bundle_lock);
    xdst->u.dst.next = xfrm_policy_sk_bundles;
    xfrm_policy_sk_bundles = &xdst->u.dst;

    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2011-04-19 22:29    [W:0.022 / U:61.796 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site