diff options
author | Kang-Che Sung | 2017-02-01 19:43:54 +0800 |
---|---|---|
committer | Denys Vlasenko | 2017-02-05 19:11:01 +0100 |
commit | 415cc42b6aab3a3a90749354432e7d780840b1d8 (patch) | |
tree | 195da414b0b63d15e2c73e04c5b45beced08a794 /modutils | |
parent | 4ae658f077c9b8859e8f1aabee4b95c2c96dae1c (diff) | |
download | busybox-415cc42b6aab3a3a90749354432e7d780840b1d8.zip busybox-415cc42b6aab3a3a90749354432e7d780840b1d8.tar.gz |
Reorder modutils config options & fix yet more dependency
- 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@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'modutils')
-rw-r--r-- | modutils/Config.src | 43 | ||||
-rw-r--r-- | modutils/modprobe-small.c | 10 |
2 files changed, 27 insertions, 26 deletions
diff --git a/modutils/Config.src b/modutils/Config.src index d0bae2e..5f0b0ce 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 726a310..d6f4814 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))) |