2020-04-14 17:30:12

by Eric Biggers

[permalink] [raw]
Subject: [PATCH] docs: admin-guide: merge sections for the kernel.modprobe sysctl

From: Eric Biggers <[email protected]>

Documentation for the kernel.modprobe sysctl was added both by
commit 0317c5371e6a ("docs: merge debugging-modules.txt into
sysctl/kernel.rst") and by commit 6e7158250625 ("docs: admin-guide:
document the kernel.modprobe sysctl"), resulting in the same sysctl
being documented in two places. Merge these into one place.

Signed-off-by: Eric Biggers <[email protected]>
---

Jon, could you take this through the docs tree as a fix for 5.7?

Documentation/admin-guide/sysctl/kernel.rst | 47 +++++++++------------
1 file changed, 19 insertions(+), 28 deletions(-)

diff --git a/Documentation/admin-guide/sysctl/kernel.rst b/Documentation/admin-guide/sysctl/kernel.rst
index 39c95c0e13d30..0d427fd109419 100644
--- a/Documentation/admin-guide/sysctl/kernel.rst
+++ b/Documentation/admin-guide/sysctl/kernel.rst
@@ -390,9 +390,17 @@ When ``kptr_restrict`` is set to 2, kernel pointers printed using
modprobe
========

-This gives the full path of the modprobe command which the kernel will
-use to load modules. This can be used to debug module loading
-requests::
+The full path to the usermode helper for autoloading kernel modules,
+by default "/sbin/modprobe". This binary is executed when the kernel
+requests a module. For example, if userspace passes an unknown
+filesystem type to mount(), then the kernel will automatically request
+the corresponding filesystem module by executing this usermode helper.
+This usermode helper should insert the needed module into the kernel.
+
+This sysctl only affects module autoloading. It has no effect on the
+ability to explicitly insert modules.
+
+This sysctl can be used to debug module loading requests::

echo '#! /bin/sh' > /tmp/modprobe
echo 'echo "$@" >> /tmp/modprobe.log' >> /tmp/modprobe
@@ -400,10 +408,15 @@ requests::
chmod a+x /tmp/modprobe
echo /tmp/modprobe > /proc/sys/kernel/modprobe

-This only applies when the *kernel* is requesting that the module be
-loaded; it won't have any effect if the module is being loaded
-explicitly using ``modprobe`` from userspace.
+Alternatively, if this sysctl is set to the empty string, then module
+autoloading is completely disabled. The kernel will not try to
+execute a usermode helper at all, nor will it call the
+kernel_module_request LSM hook.

+If CONFIG_STATIC_USERMODEHELPER=y is set in the kernel configuration,
+then the configured static usermode helper overrides this sysctl,
+except that the empty string is still accepted to completely disable
+module autoloading as described above.

modules_disabled
================
@@ -446,28 +459,6 @@ Notes:
successful IPC object allocation. If an IPC object allocation syscall
fails, it is undefined if the value remains unmodified or is reset to -1.

-modprobe:
-=========
-
-The path to the usermode helper for autoloading kernel modules, by
-default "/sbin/modprobe". This binary is executed when the kernel
-requests a module. For example, if userspace passes an unknown
-filesystem type to mount(), then the kernel will automatically request
-the corresponding filesystem module by executing this usermode helper.
-This usermode helper should insert the needed module into the kernel.
-
-This sysctl only affects module autoloading. It has no effect on the
-ability to explicitly insert modules.
-
-If this sysctl is set to the empty string, then module autoloading is
-completely disabled. The kernel will not try to execute a usermode
-helper at all, nor will it call the kernel_module_request LSM hook.
-
-If CONFIG_STATIC_USERMODEHELPER=y is set in the kernel configuration,
-then the configured static usermode helper overrides this sysctl,
-except that the empty string is still accepted to completely disable
-module autoloading as described above.
-
nmi_watchdog
============

--
2.26.0.110.g2183baf09c-goog


2020-04-15 21:58:25

by Stephen Kitt

[permalink] [raw]
Subject: Re: [PATCH] docs: admin-guide: merge sections for the kernel.modprobe sysctl

On Tue, 14 Apr 2020 10:24:30 -0700, Eric Biggers <[email protected]> wrote:
> From: Eric Biggers <[email protected]>
>
> Documentation for the kernel.modprobe sysctl was added both by
> commit 0317c5371e6a ("docs: merge debugging-modules.txt into
> sysctl/kernel.rst") and by commit 6e7158250625 ("docs: admin-guide:
> document the kernel.modprobe sysctl"), resulting in the same sysctl
> being documented in two places. Merge these into one place.
>
> Signed-off-by: Eric Biggers <[email protected]>

Reviewed-by: Stephen Kitt <[email protected]>

Thanks for taking care of this!

> ---
>
> Jon, could you take this through the docs tree as a fix for 5.7?
>
> Documentation/admin-guide/sysctl/kernel.rst | 47 +++++++++------------
> 1 file changed, 19 insertions(+), 28 deletions(-)
>
> diff --git a/Documentation/admin-guide/sysctl/kernel.rst
> b/Documentation/admin-guide/sysctl/kernel.rst index
> 39c95c0e13d30..0d427fd109419 100644 ---
> a/Documentation/admin-guide/sysctl/kernel.rst +++
> b/Documentation/admin-guide/sysctl/kernel.rst @@ -390,9 +390,17 @@ When
> ``kptr_restrict`` is set to 2, kernel pointers printed using modprobe
> ========
>
> -This gives the full path of the modprobe command which the kernel will
> -use to load modules. This can be used to debug module loading
> -requests::
> +The full path to the usermode helper for autoloading kernel modules,
> +by default "/sbin/modprobe". This binary is executed when the kernel
> +requests a module. For example, if userspace passes an unknown
> +filesystem type to mount(), then the kernel will automatically request
> +the corresponding filesystem module by executing this usermode helper.
> +This usermode helper should insert the needed module into the kernel.
> +
> +This sysctl only affects module autoloading. It has no effect on the
> +ability to explicitly insert modules.
> +
> +This sysctl can be used to debug module loading requests::
>
> echo '#! /bin/sh' > /tmp/modprobe
> echo 'echo "$@" >> /tmp/modprobe.log' >> /tmp/modprobe
> @@ -400,10 +408,15 @@ requests::
> chmod a+x /tmp/modprobe
> echo /tmp/modprobe > /proc/sys/kernel/modprobe
>
> -This only applies when the *kernel* is requesting that the module be
> -loaded; it won't have any effect if the module is being loaded
> -explicitly using ``modprobe`` from userspace.
> +Alternatively, if this sysctl is set to the empty string, then module
> +autoloading is completely disabled. The kernel will not try to
> +execute a usermode helper at all, nor will it call the
> +kernel_module_request LSM hook.
>
> +If CONFIG_STATIC_USERMODEHELPER=y is set in the kernel configuration,
> +then the configured static usermode helper overrides this sysctl,
> +except that the empty string is still accepted to completely disable
> +module autoloading as described above.
>
> modules_disabled
> ================
> @@ -446,28 +459,6 @@ Notes:
> successful IPC object allocation. If an IPC object allocation syscall
> fails, it is undefined if the value remains unmodified or is reset to
> -1.
> -modprobe:
> -=========
> -
> -The path to the usermode helper for autoloading kernel modules, by
> -default "/sbin/modprobe". This binary is executed when the kernel
> -requests a module. For example, if userspace passes an unknown
> -filesystem type to mount(), then the kernel will automatically request
> -the corresponding filesystem module by executing this usermode helper.
> -This usermode helper should insert the needed module into the kernel.
> -
> -This sysctl only affects module autoloading. It has no effect on the
> -ability to explicitly insert modules.
> -
> -If this sysctl is set to the empty string, then module autoloading is
> -completely disabled. The kernel will not try to execute a usermode
> -helper at all, nor will it call the kernel_module_request LSM hook.
> -
> -If CONFIG_STATIC_USERMODEHELPER=y is set in the kernel configuration,
> -then the configured static usermode helper overrides this sysctl,
> -except that the empty string is still accepted to completely disable
> -module autoloading as described above.
> -
> nmi_watchdog
> ============
>
> --
> 2.26.0.110.g2183baf09c-goog
>

Regards,

Stephen


Attachments:
(No filename) (849.00 B)
OpenPGP digital signature

2020-04-16 01:07:32

by Jonathan Corbet

[permalink] [raw]
Subject: Re: [PATCH] docs: admin-guide: merge sections for the kernel.modprobe sysctl

On Tue, 14 Apr 2020 10:24:30 -0700
Eric Biggers <[email protected]> wrote:

> Documentation for the kernel.modprobe sysctl was added both by
> commit 0317c5371e6a ("docs: merge debugging-modules.txt into
> sysctl/kernel.rst") and by commit 6e7158250625 ("docs: admin-guide:
> document the kernel.modprobe sysctl"), resulting in the same sysctl
> being documented in two places. Merge these into one place.
>
> Signed-off-by: Eric Biggers <[email protected]>
> ---
>
> Jon, could you take this through the docs tree as a fix for 5.7?

Applied, thanks.

jon