模块参数权限

Gom*_*thi 2 kernel module kernel-module

我是内核编程的新手。当我浏览时module_param,我对权限值 0 感到困惑。有人解释说,它不会在 sysfs 中获得条目,而其他人S_IRUGO会获得条目。我无法理解这个概念。

perm 值 0 表示什么?我们什么时候需要 sysfs 条目?有什么必要呢?

请指导我。提前致谢。

Lek*_*eyn 5

您可以通过某些方式将参数模块化到内核模块。假设一个内核模块foo具有名为 的参数bar:

  • 使用引导加载程序配置中提供的内核命令行。要查看当前启动的命令行,请运行cat /proc/cmdline。输出示例:BOOT_IMAGE=/vmlinuz root=/dev/sda1 foo.bar=some-value
  • insmod使用或加载内核模块时modprobe:modprobe foo bar=some-value
  • 当模块加载时,通常可以在 处看到找到bar模块的参数。foo/sys/module/foo/parameters/bar

权限值0会阻止创建 sysfs 条目(上面的第三个项目符号)。内核代码中的一个示例用法是允许启用调试,而无需在 sysfs 中公开此参数。

可读/可写模块参数的示例是acpi。它允许您动态设置应该生成的调试信息。可用于acpi.debug_level内核命令行或/sys/module/acpi/parameters/debug_levelsysfs 条目。