[email protected] <[email protected]> wrote:
> From: wenxu <[email protected]>
>
> 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()?