Re: linux-next: build failure after merge of the rcu tree

From: Paul E. McKenney
Date: Tue Oct 18 2022 - 10:57:57 EST


On Tue, Oct 18, 2022 at 12:43:56PM +0200, Frederic Weisbecker wrote:
> On Tue, Oct 18, 2022 at 10:26:36AM +1100, Stephen Rothwell wrote:
> > Hi all,
> >
> > After merging the rcu tree, today's linux-next build (x86_64 allmodconfig)
> > failed like this:
> >
> > ERROR: modpost: "srcu_check_nmi_safety" [arch/x86/kvm/kvm.ko] undefined!
> > ERROR: modpost: "srcu_check_nmi_safety" [arch/x86/kvm/kvm-intel.ko] undefined!
> > ERROR: modpost: "srcu_check_nmi_safety" [arch/x86/kvm/kvm-amd.ko] undefined!
> > ERROR: modpost: "srcu_check_nmi_safety" [kernel/rcu/rcutorture.ko] undefined!
> > ERROR: modpost: "srcu_check_nmi_safety" [kernel/rcu/rcuscale.ko] undefined!
> > ERROR: modpost: "srcu_check_nmi_safety" [kernel/rcu/refscale.ko] undefined!
> > ERROR: modpost: "srcu_check_nmi_safety" [fs/dlm/dlm.ko] undefined!
> > ERROR: modpost: "srcu_check_nmi_safety" [drivers/pci/controller/vmd.ko] undefined!
> > ERROR: modpost: "srcu_check_nmi_safety" [drivers/char/ipmi/ipmi_msghandler.ko] undefined!
> > ERROR: modpost: "srcu_check_nmi_safety" [drivers/gpu/drm/drm.ko] undefined!
> > WARNING: modpost: suppressed 10 unresolved symbol warnings because there were too many)
> >
> > Presumably caused by commit
> >
> > 54a118fce487 ("srcu: Debug NMI safety even on archs that don't require it")
>
> My bad. This commit indeed lacks this (Paul can you add the following
> line on that commit?):
>
> diff --git a/kernel/rcu/srcutree.c b/kernel/rcu/srcutree.c
> index 382236dd5e46..bcd629f5f902 100644
> --- a/kernel/rcu/srcutree.c
> +++ b/kernel/rcu/srcutree.c
> @@ -651,6 +651,7 @@ void srcu_check_nmi_safety(struct srcu_struct *ssp, bool nmi_safe)
> }
> WARN_ONCE(old_nmi_safe_mask != nmi_safe_mask, "CPU %d old state %d new state %d\n", sdp->cpu, old_nmi_safe_mask, nmi_safe_mask);
> }
> +EXPORT_SYMBOL_GPL(srcu_check_nmi_safety);
> #endif /* CONFIG_PROVE_RCU */

On my list for the next rebase, thank you both! Along with kernel
test robot. ;-)

Thanx, Paul