[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