Re: SysFS 'module' params with CONFIG_MODULES=n

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <[email protected]>

Thanks,
Jason.




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,
 };

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux