diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2017-12-07 09:40:38 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-02-16 20:07:01 +0100 |
commit | f246c4e6d2862b5c37e6f1fff03cda21f8c7f3fe (patch) | |
tree | 39028726639e928ead70be5644e611265ca7f0bd | |
parent | 8b159566ab29b01de43d912a760a1634b7b694e4 (diff) | |
download | linux-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.c | 2 |
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) { |