we...@ucloud.cn <we...@ucloud.cn> wrote:
> From: wenxu <we...@ucloud.cn>
> 
> The nft_indr_block_get_and_ing_cmd is called in netdevice notify
> It is the incorrect rcu case, To fix it just traverse the list under
> the commit mutex.

What is an 'incorrect rcu case'?

Please clarify, e.g. by including rcu warning/splat backtrace here.

> +     struct nft_ctx ctx = {
> +             .net    = dev_net(dev),
> +     };

Why is this ctx needed?

> +     mutex_lock(&ctx.net->nft.commit_mutex);

net->nft.commit_mutex?

> -             list_for_each_entry_rcu(chain, &table->chains, list) {
> +             list_for_each_entry_safe(chain, nr, &table->chains, list) {

Why is _safe needed rather than list_for_each_entry()?

Reply via email to