Summary: | net-fs/openafs-kernel-1.4.10 build fails "GPL-incompatible module libafs.ko uses GPL-only symbol '__rcu_read_unlock'" | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Benedikt Reinartz <filmor> |
Component: | [OLD] Unspecified | Assignee: | Stefaan De Roeck (RETIRED) <stefaan> |
Status: | RESOLVED FIXED | ||
Severity: | major | CC: | jinks, marc.c.dionne, net-fs |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
net-fs/openafs-kernel build log
paludis --info net-fs/openafs-kernel kernel .config Avoid code that uses rcu_read_* when they are not usable (exported GPL) Build log with patch_rcu Avoid rcu_read_{un}lock if exported GPL |
Description
Benedikt Reinartz
2009-06-16 13:48:18 UTC
*** Bug 274355 has been marked as a duplicate of this bug. *** Confirmed also with gentoo-sources-2.6.30-r1. Please post your "emerge --info" and attach the build.log file of the failed emerge to this bug. Created attachment 195502 [details]
net-fs/openafs-kernel build log
As one can see, the module builds just fine. It fails right after linking in the modpost script.
Created attachment 195504 [details]
paludis --info net-fs/openafs-kernel
It's the same if you compile it manually. You can indeed just change the license declaration to GPL and it works, but that's not really viable. P.S.: Why has the bug been closed as fixed before?! Would it be possible to see the kernel .config when this error occurs? I think I may have an idea of where this is coming from. Created attachment 195613 [details]
kernel .config
Thanks, I think CONFIG_PREEMPT_RCU is the source of the problem. The good news is that we can easily work around it in the OpenAFS source. I'll have a patch to test out a bit later. Created attachment 195659 [details, diff]
Avoid code that uses rcu_read_* when they are not usable (exported GPL)
Can anyone try out the attached patch.
With CONFIG_PREEMPT_RCU, rcu_read_unlock is GPL only, and some new credentials macros from 2.6.29 uses it.
Created attachment 195667 [details]
Build log with patch_rcu
Nope, sorry, still the same error.
"nm -A *.o | grep __rcu_read_" says there are still one call each to lock and unlock in libafs.o and afs_osi.o.
Actually it's only afs_osi.c, lines 855 and 859 I guess. Created attachment 195678 [details]
Avoid rcu_read_{un}lock if exported GPL
Hmm, in your case you don't have keyring support enabled in your kernel.
Could you try this version of the patch?
(In reply to comment #13) > Created an attachment (id=195678) [edit] > Avoid rcu_read_{un}lock if exported GPL > > Hmm, in your case you don't have keyring support enabled in your kernel. > Could you try this version of the patch? > That one worked (or at least it compiled, didn't test it yet), thank you very much :) FYI a slightly different version of this patch has been committed upstream and will be part of 1.4.11 pre-release 2. 1.4.11 is out, but I didn't test it yet. openafs-kernel-1.4.12.1 should fix things |