[...]

>>
>> So its at least possible I think these could be interleaved on multiple
>> cpus.
> 
> Sure, this was very clear when I wrote this code. Otherwise I would have
> used an intermediate object and one rcu_dereference() instead of the
> READ_ONCE().
> 
> 
>>
>> Notice that some of the actions are fine though and don't have this
>> issue act_bpf for example is fine.
>>
>> I think we can either fix it in the hash table create part of the
>> list as this series does or just let each action handle it on its own.
> 
> If we want a fix for stable kernels we want a tc_mirred fix on its own,
> and I was planning to do so.
> 
> Given that a "tc qdisc replace ..." drops all packets sitting in the old
> qdisc, I never thought someone would actually depend on atomically
> switching tc_mirred parameters. I for sure did not care.
> 
> Thanks.
> 
> 

Agreed not sure why you would ever want to do a late binding and
replace on a tc_mirred actions. But it is supported...

Reply via email to