* [PATCH] powerpc/pseries: Fix regression while building external modules
@ 2021-07-29 6:04 Srikar Dronamraju
2021-08-01 13:13 ` Michael Ellerman
0 siblings, 1 reply; 2+ messages in thread
From: Srikar Dronamraju @ 2021-07-29 6:04 UTC (permalink / raw)
To: Michael Ellerman
Cc: Srikar Dronamraju, Nicholas Piggin, marc.c.dionne, jforbes,
yadayada, linuxppc-dev
With Commit c9f3401313a5 ("powerpc: Always enable queued spinlocks for
64s, disable for others") CONFIG_PPC_QUEUED_SPINLOCKS is always
enabled on ppc64le, external modules that use spinlock APIs are
failing.
ERROR: modpost: GPL-incompatible module XXX.ko uses GPL-only symbol
'shared_processor'
Before the above commit, modules were able to build without any
issues. Also this problem is not seen on other architectures. This
problem can be workaround if CONFIG_UNINLINE_SPIN_UNLOCK is enabled in
the config. However CONFIG_UNINLINE_SPIN_UNLOCK is not enabled by
default and only enabled in certain conditions like
CONFIG_DEBUG_SPINLOCKS is set in the kernel config.
#include <linux/module.h>
spinlock_t spLock;
static int __init spinlock_test_init(void)
{
spin_lock_init(&spLock);
spin_lock(&spLock);
spin_unlock(&spLock);
return 0;
}
static void __exit spinlock_test_exit(void)
{
printk("spinlock_test unloaded\n");
}
module_init(spinlock_test_init);
module_exit(spinlock_test_exit);
MODULE_DESCRIPTION ("spinlock_test");
MODULE_LICENSE ("non-GPL");
MODULE_AUTHOR ("Srikar Dronamraju");
Given that spin locks are one of the basic facilities for module code,
this effectively makes it impossible to build/load almost any non GPL
modules on ppc64le.
This was first reported at https://github.com/openzfs/zfs/issues/11172
Currently shared_processor is exported as GPL only symbol.
Fix this for parity with other architectures by exposing
shared_processor to non-GPL modules too.
Fixes: 14c73bd344da ("powerpc/vcpu: Assume dedicated processors as non-preempt")
Fixes: c9f3401313a5 ("powerpc: Always enable queued spinlocks for 64s, disable for others")
Reported-by: marc.c.dionne@gmail.com
Cc: linuxppc-dev@lists.ozlabs.org
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: marc.c.dionne@gmail.com
Cc: jforbes@redhat.com
Cc: yadayada@in.ibm.com
Signed-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
---
arch/powerpc/platforms/pseries/setup.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c
index 754e493b7c05..0338f481c12b 100644
--- a/arch/powerpc/platforms/pseries/setup.c
+++ b/arch/powerpc/platforms/pseries/setup.c
@@ -77,7 +77,7 @@
#include "../../../../drivers/pci/pci.h"
DEFINE_STATIC_KEY_FALSE(shared_processor);
-EXPORT_SYMBOL_GPL(shared_processor);
+EXPORT_SYMBOL(shared_processor);
int CMO_PrPSP = -1;
int CMO_SecPSP = -1;
base-commit: adf3c31e18b765ea24eba7b0c1efc076b8ee3d55
--
2.18.2
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] powerpc/pseries: Fix regression while building external modules
2021-07-29 6:04 [PATCH] powerpc/pseries: Fix regression while building external modules Srikar Dronamraju
@ 2021-08-01 13:13 ` Michael Ellerman
0 siblings, 0 replies; 2+ messages in thread
From: Michael Ellerman @ 2021-08-01 13:13 UTC (permalink / raw)
To: Michael Ellerman, Srikar Dronamraju
Cc: marc.c.dionne, linuxppc-dev, Nicholas Piggin, jforbes, yadayada
On Thu, 29 Jul 2021 11:34:49 +0530, Srikar Dronamraju wrote:
> With Commit c9f3401313a5 ("powerpc: Always enable queued spinlocks for
> 64s, disable for others") CONFIG_PPC_QUEUED_SPINLOCKS is always
> enabled on ppc64le, external modules that use spinlock APIs are
> failing.
>
> ERROR: modpost: GPL-incompatible module XXX.ko uses GPL-only symbol
> 'shared_processor'
>
> [...]
Applied to powerpc/fixes.
[1/1] powerpc/pseries: Fix regression while building external modules
https://git.kernel.org/powerpc/c/333cf507465fbebb3727f5b53e77538467df312a
cheers
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-08-01 13:15 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-07-29 6:04 [PATCH] powerpc/pseries: Fix regression while building external modules Srikar Dronamraju
2021-08-01 13:13 ` Michael Ellerman
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).