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

Frederic Weisbecker
2022-10-18T10:44:11Z

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 */

/*

Thanks!