* Re: SysFS 'module' params with CONFIG_MODULES=n
2005-11-12 4:33 ` Greg KH
@ 2005-11-12 19:49 ` Jason Wessel
0 siblings, 0 replies; 3+ messages in thread
From: Jason Wessel @ 2005-11-12 19:49 UTC (permalink / raw)
To: Greg KH; +Cc: Tom Rini, lkml
[-- Attachment #1: Type: text/plain, Size: 967 bytes --]
Greg KH wrote:
> On Fri, Nov 11, 2005 at 08:32:20AM -0700, Tom Rini wrote:
>
>> On 2.6.14, and probably newer, a system where CONFIG_MODULES=n
>> /sys/module/foo/parameters/param fails:
>>
>> # cat /sys/module/tcp_bic/parameters/low_window
>> cat: /sys/module/tcp_bic/parameters/low_window: Permission denied
>>
>> But just changing MODULES to y:
>>
>> # cat /sys/module/tcp_bic/parameters/low_window
>> 14
>>
>> Is this intentional or fixable? Just an observation right now, thanks.
>>
>
> Not intentional at all. Did this work before 2.6.14?
>
> thanks,
>
> greg k-h
>
I am not sure when it stopped working.
I recommend the attached patch to kernel/params.c All the work was done
to setup the file and maintain the file handles but the access functions
were zeroed out due to the #ifdef. Removing the #ifdef allows full
access to all the parameters when CONFIG_MODULES=n.
signed off: Jason Wessel <jason.wessel@windriver.com>
Thanks,
Jason.
[-- Attachment #2: params_sysfs.patch --]
[-- Type: text/plain, Size: 802 bytes --]
Index: linux-2.6.14/kernel/params.c
===================================================================
--- linux-2.6.14.orig/kernel/params.c 2005-11-11 08:40:03.456317256 -0800
+++ linux-2.6.14/kernel/params.c 2005-11-12 11:43:00.439765632 -0800
@@ -618,8 +618,6 @@ static void __init param_sysfs_builtin(v
/* module-related sysfs stuff */
-#ifdef CONFIG_MODULES
-
#define to_module_attr(n) container_of(n, struct module_attribute, attr);
#define to_module_kobject(n) container_of(n, struct module_kobject, kobj);
@@ -676,13 +674,6 @@ static struct sysfs_ops module_sysfs_ops
.store = module_attr_store,
};
-#else
-static struct sysfs_ops module_sysfs_ops = {
- .show = NULL,
- .store = NULL,
-};
-#endif
-
static struct kobj_type module_ktype = {
.sysfs_ops = &module_sysfs_ops,
};
^ permalink raw reply [flat|nested] 3+ messages in thread