]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.15-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 15 Feb 2018 15:43:59 +0000 (16:43 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 15 Feb 2018 15:43:59 +0000 (16:43 +0100)
added patches:
rcu-export-init_rcu_head-and-destroy_rcu_head-to-gpl-modules.patch

queue-4.15/rcu-export-init_rcu_head-and-destroy_rcu_head-to-gpl-modules.patch [new file with mode: 0644]
queue-4.15/series

diff --git a/queue-4.15/rcu-export-init_rcu_head-and-destroy_rcu_head-to-gpl-modules.patch b/queue-4.15/rcu-export-init_rcu_head-and-destroy_rcu_head-to-gpl-modules.patch
new file mode 100644 (file)
index 0000000..6e9fa62
--- /dev/null
@@ -0,0 +1,44 @@
+From 156baec39732f025dc778e00da95fc10d6e45885 Mon Sep 17 00:00:00 2001
+From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
+Date: Thu, 7 Dec 2017 09:40:38 -0800
+Subject: rcu: Export init_rcu_head() and destroy_rcu_head() to GPL modules
+
+From: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
+
+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>
+
+---
+ kernel/rcu/update.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- 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)
+ {
index 31c6d9ceaf0ecfc29be956635db4c2e451004214..23cf7533c95db8a60389591122b42356f690da0f 100644 (file)
@@ -200,3 +200,4 @@ ftrace-remove-incorrect-setting-of-glob-search-field.patch
 scsi-core-ensure-that-the-scsi-error-handler-gets-woken-up.patch
 scsi-lpfc-fix-crash-after-bad-bar-setup-on-driver-attachment.patch
 scsi-cxlflash-reset-command-ioasc.patch
+rcu-export-init_rcu_head-and-destroy_rcu_head-to-gpl-modules.patch