Re: linux-next: Tree for Apr 17 (rcu)

From: Paul E. McKenney
Date: Tue Apr 17 2012 - 12:36:10 EST


On Tue, Apr 17, 2012 at 11:57:24AM -0700, Randy Dunlap wrote:
> On 04/16/2012 09:42 PM, Stephen Rothwell wrote:
>
> > Hi all,
> >
> > Changes since 20120416:
> >
> > The rcu tree lost its build failure.
>
>
> ERROR: "rcu_read_lock_nesting" [net/sctp/sctp.ko] undefined!
> ERROR: "rcu_read_lock_nesting" [net/rds/rds.ko] undefined!
> ERROR: "rcu_read_lock_nesting" [net/phonet/phonet.ko] undefined!
> ERROR: "rcu_read_lock_nesting" [net/openvswitch/openvswitch.ko] undefined!
> ERROR: "rcu_read_lock_nesting" [net/netfilter/xt_TCPMSS.ko] undefined!
> ERROR: "rcu_read_lock_nesting" [net/netfilter/nfnetlink.ko] undefined!
> ERROR: "rcu_read_lock_nesting" [net/netfilter/nf_conntrack.ko] undefined!
> ERROR: "rcu_read_lock_nesting" [net/netfilter/ipset/ip_set.ko] undefined!
> ERROR: "rcu_read_lock_nesting" [net/llc/llc2.ko] undefined!
> ERROR: "rcu_read_lock_nesting" [net/l2tp/l2tp_ip.ko] undefined!
> ERROR: "rcu_read_lock_nesting" [net/l2tp/l2tp_core.ko] undefined!
> ERROR: "rcu_read_lock_nesting" [net/key/af_key.ko] undefined!
> ERROR: "rcu_read_lock_nesting" [net/ipv4/ipip.ko] undefined!
> ERROR: "rcu_read_lock_nesting" [net/decnet/decnet.ko] undefined!
> ERROR: "rcu_read_lock_nesting" [net/core/netprio_cgroup.ko] undefined!
> ERROR: "rcu_read_lock_nesting" [net/can/can.ko] undefined!
> ERROR: "rcu_read_lock_nesting" [net/can/can-bcm.ko] undefined!
> ERROR: "rcu_read_lock_nesting" [net/bridge/bridge.ko] undefined!
> ERROR: "rcu_read_lock_nesting" [net/bluetooth/bluetooth.ko] undefined!
> ERROR: "rcu_read_lock_nesting" [net/batman-adv/batman-adv.ko] undefined!
> ERROR: "rcu_read_lock_nesting" [net/atm/atm.ko] undefined!
> ERROR: "rcu_read_lock_nesting" [fs/gfs2/gfs2.ko] undefined!
> ERROR: "rcu_read_lock_nesting" [drivers/net/vmxnet3/vmxnet3.ko] undefined!
> ERROR: "rcu_read_lock_nesting" [drivers/input/joydev.ko] undefined!
> ERROR: "rcu_read_lock_nesting" [drivers/char/tpm/tpm.ko] undefined!
> ERROR: "rcu_read_lock_nesting" [drivers/char/ipmi/ipmi_msghandler.ko] undefined!
> ERROR: "rcu_read_lock_nesting" [block/cfq-iosched.ko] undefined!
> ERROR: "rcu_read_lock_nesting" [block/blk-cgroup.ko] undefined!
>
> on i386.
>
> Full randconfig file is attached.

Sigh! I failed to add the exports. Please see the following
not-yet-tested patch.

Thanx, Paul

------------------------------------------------------------------------

rcu: Add exports for per-CPU variables used for inlining

The new rcu_read_lock_nesting and rcu_read_unlock_special per-CPU
variables need to be accessible from modules to allow rcu_read_lock()
and rcu_read_unlock() to continue to be used from modules. This
commit therefore adds the needed EXPORT_PER_CPU_SYMBOL_GPL()s.

Reported-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx>
Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxx>
Signed-off-by: Paul E. McKenney <paul.mckenney@xxxxxxxxxx>
Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>

diff --git a/kernel/rcupdate.c b/kernel/rcupdate.c
index d52c68e..ef83774 100644
--- a/kernel/rcupdate.c
+++ b/kernel/rcupdate.c
@@ -53,7 +53,9 @@

#ifdef CONFIG_PREEMPT_RCU
DEFINE_PER_CPU(int, rcu_read_lock_nesting);
+EXPORT_PER_CPU_SYMBOL_GPL(rcu_read_lock_nesting);
DEFINE_PER_CPU(int, rcu_read_unlock_special);
+EXPORT_PER_CPU_SYMBOL_GPL(rcu_read_unlock_special);
#ifdef CONFIG_PROVE_RCU
DEFINE_PER_CPU(struct task_struct *, rcu_current_task);
#endif /* #ifdef CONFIG_PROVE_RCU */

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/