Bugzilla – Bug 148245
MODULE_PARM(array, ...) broken
Last modified: 2006-02-18 17:01:18 UTC
When trying to modprobe libafs it fails with: klogd: libafs: falsely claims to have parameter sys_call_table_addr
We will not be shipping nongpl modules as part of 10.1, including OpenAFS.
Then you should drop the whole openafs-client package because it is pointless and a waist of ressources shipping client software that does not work by design.
Reopen.
Vladimir, are you aware of this problem?
We won't distribute the kernel module, because the IBM Public License conflicts with GPL. However we will distribute the source package and the kernel module can be easily recopiled. The originally reported problem seems to affect all kernel modules that use MODULE_PARM. It appears for example on quickcam-kmp-default too. I have found that MODULE_PARM is obsolete. Is it still supported?
It is broken upstream when used with arrays. (It works for individual variables.) I tried to debug what does wrong, but it's tricky. Can you use module_param_array instead? I'll see if I can come up with a fix, but it that fails, we should rather remove it.
It turns out this happens for static variables, and works fine with extern ones. MODULE_PARM used to work fine in 2.4 for static variables; checking if this might have something to do with our binutils now.
I changed openafs to use module_param_array and module_param.
I could trace this back to the compiler optimizing out unused static variables now. I couldn't come up with a nice fix for preventing that (we cannot tag the variables with __attribute__((used)) or similar), but in case a variable got optimized out, there is no reason for aborting the module load, so we can simply remove the error message. This is patches.fixes/module-obsparm.diff now.