[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <slrnlb2cuh.32c.xiyou.wangcong@linux-6brj.site>
Date: Wed, 18 Dec 2013 05:33:58 +0000 (UTC)
From: Cong Wang <xiyou.wangcong@...il.com>
To: netdev@...r.kernel.org
Subject: Re: [PATCHv2 ipsec-next] xfrm: Namespacify xfrm_policy_sk_bundles
On Wed, 18 Dec 2013 at 04:50 GMT, Eric Dumazet <eric.dumazet@...il.com> wrote:
> On Wed, 2013-12-18 at 11:34 +0800, Fan Du wrote:
>> -
>> - spin_lock_bh(&net->xfrm.xfrm_policy_sk_bundle_lock);
>> - xdst->u.dst.next = xfrm_policy_sk_bundles;
>> - xfrm_policy_sk_bundles = &xdst->u.dst;
>> - spin_unlock_bh(&net->xfrm.xfrm_policy_sk_bundle_lock);
>> -
>> + xdst->u.dst.next = xchg(&net->xfrm.xfrm_policy_sk_bundles,
>> + &xdst->u.dst);
>
> This is not safe.
>
> Take a look at include/linux/llist.h if you really want to avoid the
> spinlock.
>
Exactly, xfrm_policy_sk_bundles list is only traversed after deletion.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists