[PATCH] Reorder modutils config options & fix yet more dependency
Denys Vlasenko
vda.linux at googlemail.com
Sun Feb 5 18:11:39 UTC 2017
Applied, thanks
On Wed, Feb 1, 2017 at 12:43 PM, Kang-Che Sung <explorer09 at gmail.com> wrote:
> - modprobe can indirectly benefit from FEATURE_2_4_MODULES and
> FEATURE_INSMOD_TRY_MAP options.
> - The position of config FEATURE_INSMOD_TRY_MMAP prevented some other
> config options from indenting under FEATURE_2_4_MODULES. Reorder to
> fix this.
> - FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is now moved to
> Config.src under "Common options" section. (I wished to edit this
> config so that it also work with "big" modutils, but it's not done at
> the moment. Sorry.)
>
> Signed-off-by: Kang-Che Sung <explorer09 at gmail.com>
> ---
> modutils/Config.src | 43 +++++++++++++++++++++++++------------------
> modutils/modprobe-small.c | 10 ++--------
> 2 files changed, 27 insertions(+), 26 deletions(-)
>
> diff --git a/modutils/Config.src b/modutils/Config.src
> index d0bae2ea3..5f0b0cec4 100644
> --- a/modutils/Config.src
> +++ b/modutils/Config.src
> @@ -45,31 +45,22 @@ config FEATURE_CMDLINE_MODULE_OPTIONS
> Allow insmod and modprobe take module options from the applets'
> command line.
>
> +config FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
> + bool "Skip loading of already loaded modules"
> + default y
> + depends on MODPROBE_SMALL && (DEPMOD || INSMOD || MODPROBE)
> + help
> + Check if the module is already loaded.
> +
> config FEATURE_2_4_MODULES
> bool "Support version 2.2/2.4 Linux kernels"
> default n
> - depends on (INSMOD || RMMOD || LSMOD) && !MODPROBE_SMALL
> + depends on (INSMOD || LSMOD || MODPROBE || RMMOD) && !MODPROBE_SMALL
> help
> Support module loading for 2.2.x and 2.4.x Linux kernels.
> This increases size considerably. Say N unless you plan
> to run ancient kernels.
>
> -config FEATURE_INSMOD_TRY_MMAP
> - bool "Try to load module from a mmap'ed area"
> - default n
> - depends on INSMOD && !MODPROBE_SMALL
> - help
> - This option causes module loading code to try to mmap
> - module first. If it does not work (for example,
> - it does not work for compressed modules), module will be read
> - (and unpacked if needed) into a memory block allocated by malloc.
> -
> - The only case when mmap works but malloc does not is when
> - you are trying to load a big module on a very memory-constrained
> - machine. Malloc will momentarily need 2x as much memory as mmap.
> -
> - Choosing N saves about 250 bytes of code (on 32-bit x86).
> -
> config FEATURE_INSMOD_VERSION_CHECKING
> bool "Enable module version checking"
> default n
> @@ -113,7 +104,7 @@ config FEATURE_INSMOD_LOAD_MAP
> config FEATURE_INSMOD_LOAD_MAP_FULL
> bool "Symbols in load map"
> default y
> - depends on FEATURE_INSMOD_LOAD_MAP && !MODPROBE_SMALL
> + depends on FEATURE_INSMOD_LOAD_MAP
> help
> Without this option, -m will only output section
> load map. With this option, -m will also output
> @@ -129,6 +120,22 @@ config FEATURE_CHECK_TAINTED_MODULE
> support request.
> This option is required to support GPLONLY modules.
>
> +config FEATURE_INSMOD_TRY_MMAP
> + bool "Try to load module from a mmap'ed area"
> + default n
> + depends on (INSMOD || MODPROBE) && !MODPROBE_SMALL
> + help
> + This option causes module loading code to try to mmap
> + module first. If it does not work (for example,
> + it does not work for compressed modules), module will be read
> + (and unpacked if needed) into a memory block allocated by malloc.
> +
> + The only case when mmap works but malloc does not is when
> + you are trying to load a big module on a very memory-constrained
> + machine. Malloc will momentarily need 2x as much memory as mmap.
> +
> + Choosing N saves about 250 bytes of code (on 32-bit x86).
> +
> config FEATURE_MODUTILS_ALIAS
> bool "Support module.aliases file"
> default y
> diff --git a/modutils/modprobe-small.c b/modutils/modprobe-small.c
> index a3ba846a7..0e9e86f08 100644
> --- a/modutils/modprobe-small.c
> +++ b/modutils/modprobe-small.c
> @@ -8,14 +8,8 @@
> * Licensed under GPLv2, see file LICENSE in this source tree.
> */
>
> -/* config MODPROBE_SMALL is defined in Config.src to ensure better "make config" order */
> -
> -//config:config FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
> -//config: bool "Skip loading of already loaded modules"
> -//config: default y
> -//config: depends on MODPROBE_SMALL && (DEPMOD || INSMOD || MODPROBE)
> -//config: help
> -//config: Check if the module is already loaded.
> +/* modprobe-small configs are defined in Config.src to ensure better
> + * "make config" order */
>
> //applet:IF_LSMOD( IF_MODPROBE_SMALL(APPLET(lsmod, BB_DIR_SBIN, BB_SUID_DROP)))
> //applet:IF_MODPROBE(IF_MODPROBE_SMALL(APPLET(modprobe, BB_DIR_SBIN, BB_SUID_DROP)))
> --
> 2.11.0
>
> _______________________________________________
> busybox mailing list
> busybox at busybox.net
> http://lists.busybox.net/mailman/listinfo/busybox
More information about the busybox
mailing list