Bug 148245 - MODULE_PARM(array, ...) broken
Summary: MODULE_PARM(array, ...) broken
Status: RESOLVED FIXED
Alias: None
Product: SUSE Linux 10.1
Classification: openSUSE
Component: Kernel (show other bugs)
Version: Beta 2
Hardware: i686 SUSE Other
: P5 - None : Normal (vote)
Target Milestone: ---
Assignee: Andreas Gruenbacher
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-02-04 19:02 UTC by Forgotten User OS1JNCFbCX
Modified: 2006-02-18 17:01 UTC (History)
2 users (show)

See Also:
Found By: Beta-Customer
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Forgotten User OS1JNCFbCX 2006-02-04 19:02:06 UTC
When trying to modprobe libafs it fails with:

klogd: libafs: falsely claims to have parameter sys_call_table_addr
Comment 1 Olaf Kirch 2006-02-06 11:00:56 UTC
We will not be shipping nongpl modules as part of 10.1, including OpenAFS.
Comment 2 Forgotten User OS1JNCFbCX 2006-02-06 13:46:05 UTC
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.
Comment 3 Andreas Gruenbacher 2006-02-06 18:26:15 UTC
Reopen.
Comment 4 Andreas Gruenbacher 2006-02-06 18:27:07 UTC
Vladimir, are you aware of this problem?
Comment 5 Vladimir Nadvornik 2006-02-10 16:43:41 UTC
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?
Comment 6 Andreas Gruenbacher 2006-02-12 00:17:19 UTC
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.
Comment 7 Andreas Gruenbacher 2006-02-13 18:50:01 UTC
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.
Comment 8 Vladimir Nadvornik 2006-02-14 13:28:47 UTC
I changed openafs to use module_param_array and module_param. 
Comment 9 Andreas Gruenbacher 2006-02-18 17:01:18 UTC
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.