summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2017-12-07 09:40:38 -0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-02-16 20:07:01 +0100
commitf246c4e6d2862b5c37e6f1fff03cda21f8c7f3fe (patch)
tree39028726639e928ead70be5644e611265ca7f0bd
parent8b159566ab29b01de43d912a760a1634b7b694e4 (diff)
downloadlinux-stable-f246c4e6d2862b5c37e6f1fff03cda21f8c7f3fe.tar.gz
linux-stable-f246c4e6d2862b5c37e6f1fff03cda21f8c7f3fe.tar.bz2
linux-stable-f246c4e6d2862b5c37e6f1fff03cda21f8c7f3fe.zip
rcu: Export init_rcu_head() and destroy_rcu_head() to GPL modules
commit 156baec39732f025dc778e00da95fc10d6e45885 upstream. Use of init_rcu_head() and destroy_rcu_head() from modules results in the following build-time error with CONFIG_DEBUG_OBJECTS_RCU_HEAD=y: ERROR: "init_rcu_head" [drivers/scsi/scsi_mod.ko] undefined! ERROR: "destroy_rcu_head" [drivers/scsi/scsi_mod.ko] undefined! This commit therefore adds EXPORT_SYMBOL_GPL() for each to allow them to be used by GPL-licensed kernel modules. Reported-by: Bart Van Assche <Bart.VanAssche@wdc.com> Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--kernel/rcu/update.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/rcu/update.c b/kernel/rcu/update.c
index fbd56d6e575b..68fa19a5e7bd 100644
--- a/kernel/rcu/update.c
+++ b/kernel/rcu/update.c
@@ -422,11 +422,13 @@ void init_rcu_head(struct rcu_head *head)
{
debug_object_init(head, &rcuhead_debug_descr);
}
+EXPORT_SYMBOL_GPL(init_rcu_head);
void destroy_rcu_head(struct rcu_head *head)
{
debug_object_free(head, &rcuhead_debug_descr);
}
+EXPORT_SYMBOL_GPL(destroy_rcu_head);
static bool rcuhead_is_static_object(void *addr)
{