rcu: Export init_rcu_head() and destroy_rcu_head() to GPL modules
commit 156baec397
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>
pull/10/head
parent
c561093ed6
commit
ce6faf10fd
|
@ -421,11 +421,13 @@ void init_rcu_head(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
debug_object_init(head, &rcuhead_debug_descr);
|
debug_object_init(head, &rcuhead_debug_descr);
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(init_rcu_head);
|
||||||
|
|
||||||
void destroy_rcu_head(struct rcu_head *head)
|
void destroy_rcu_head(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
debug_object_free(head, &rcuhead_debug_descr);
|
debug_object_free(head, &rcuhead_debug_descr);
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(destroy_rcu_head);
|
||||||
|
|
||||||
static bool rcuhead_is_static_object(void *addr)
|
static bool rcuhead_is_static_object(void *addr)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue