wenxu@xxxxxxxxx <wenxu@xxxxxxxxx> wrote: > From: wenxu <wenxu@xxxxxxxxx> > > 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()?