Subject: Re: [Patch net] act_mirred: fix a race condition on mirred_list

From: Jamal Hadi Salim <[email-masked]>
Date: Mon, 5 Oct 2015 08:07:28 -0400

Never mind. Mirred is speacial because it points to other netdevs.
So:

Acked-by: Jamal Hadi Salim <[email-masked]>

Thanks Cong.

cheers,
jamal

On 10/05/15 07:58, Jamal Hadi Salim wrote:
> Hi Cong,
>
> I am wondering if making the bindcount or refcount atomic would help?
> How does this bug get created? i.e the RTNL is still around.
> Why is this specific to mirred only?
>
> cheers,
> jamal
>
>
> On 10/01/15 14:37, Cong Wang wrote:
>> After commit 1ce87720d456 ("net: sched: make cls_u32 lockless")
>> we began to release tc actions in a RCU callback. However,
>> mirred action relies on RTNL lock to protect the global
>> mirred_list, therefore we could have a race condition
>> between RCU callback and netdevice event, which caused
>> a list corruption as reported by Vinson.
>>
>> Instead of relying on RTNL lock, introduce a spinlock to
>> protect this list.
>>
>> Note, in non-bind case, it is still called with RTNL lock,
>> therefore should disable BH too.
>>