modprobe: protect against possible SEGV
[platform/upstream/busybox.git] / modutils / Config.in
1 #
2 # For a description of the syntax of this configuration file,
3 # see scripts/kbuild/config-language.txt.
4 #
5
6 menu "Linux Module Utilities"
7
8 config MODPROBE_SMALL
9         bool "Simplified modutils"
10         default n
11         help
12           Simplified modutils.
13
14           With this option modprobe does not require modules.dep file
15           and does not use /etc/modules.conf file.
16           It scans module files in /lib/modules/`uname -r` and
17           determines dependencies and module alias names on the fly.
18           This may make module loading slower, most notably
19           when one needs to load module by alias (this requires
20           scanning through module _bodies_).
21
22           At the first attempt to load a module by alias modprobe
23           will try to generate modules.dep.bb file in order to speed up
24           future loads by alias. Failure to do so (read-only /lib/modules,
25           etc) is not reported, and future modprobes will be slow too.
26
27           NB: modules.dep.bb file format is not compatible
28           with modules.dep file as created/used by standard module tools.
29
30           Additional module parameters can be stored in
31           /etc/modules/$module_name files.
32
33           Apart from modprobe, other utilities are also provided:
34           - insmod is an alias to modprobe
35           - rmmod is an alias to modprobe -r
36           - depmod generates modules.dep.bb
37
38           As of 2008-07, this code is experimental. It is 14kb smaller
39           than "non-small" modutils.
40
41 config FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE
42         bool "Accept module options on modprobe command line"
43         default n
44         depends on MODPROBE_SMALL
45         help
46           Allow insmod and modprobe take module options from command line.
47
48 config FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
49         bool "Skip loading of already loaded modules"
50         default n
51         depends on MODPROBE_SMALL
52         help
53           Check if the module is already loaded.
54
55 config INSMOD
56         bool "insmod"
57         default n
58         depends on !MODPROBE_SMALL
59         help
60           insmod is used to load specified modules in the running kernel.
61
62 config RMMOD
63         bool "rmmod"
64         default n
65         depends on !MODPROBE_SMALL
66         help
67           rmmod is used to unload specified modules from the kernel.
68
69 config LSMOD
70         bool "lsmod"
71         default n
72         depends on !MODPROBE_SMALL
73         help
74           lsmod is used to display a list of loaded modules.
75
76 config FEATURE_LSMOD_PRETTY_2_6_OUTPUT
77         bool "Pretty output"
78         default n
79         depends on LSMOD
80         help
81           This option makes output format of lsmod adjusted to
82           the format of module-init-tools for Linux kernel 2.6.
83           Increases size somewhat.
84
85 config MODPROBE
86         bool "modprobe"
87         default n
88         depends on !MODPROBE_SMALL
89         help
90           Handle the loading of modules, and their dependencies on a high
91           level.
92
93 config FEATURE_MODPROBE_BLACKLIST
94         bool "Blacklist support"
95         default n
96         depends on MODPROBE
97         help
98           Say 'y' here to enable support for the 'blacklist' command in
99           modprobe.conf. This prevents the alias resolver to resolve
100           blacklisted modules. This is useful if you want to prevent your
101           hardware autodetection scripts to load modules like evdev, frame
102           buffer drivers etc.
103
104 config DEPMOD
105         bool "depmod"
106         default n
107         depends on !MODPROBE_SMALL
108         help
109           depmod generates modules.dep (and potentially modules.alias
110           and modules.symbols) that contain dependency information
111           for modprobe.
112
113 comment "Options common to multiple modutils"
114
115 config FEATURE_2_4_MODULES
116         bool "Support version 2.2/2.4 Linux kernels"
117         default n
118         depends on INSMOD || RMMOD || LSMOD
119         help
120           Support module loading for 2.2.x and 2.4.x Linux kernels.
121           This increases size considerably. Say N unless you plan
122           to run ancient kernels.
123
124 config FEATURE_INSMOD_TRY_MMAP
125         bool "Try to load module from a mmap'ed area"
126         default n
127         depends on INSMOD || MODPROBE_SMALL
128         help
129           This option causes module loading code to try to mmap
130           module first. If it does not work (for example,
131           it does not work for compressed modules), module will be read
132           (and unpacked if needed) into a memory block allocated by malloc.
133
134           The only case when mmap works but malloc does not is when
135           you are trying to load a big module on a very memory-constrained
136           machine. Malloc will momentarily need 2x as much memory as mmap.
137
138           Choosing N saves about 250 bytes of code (on 32-bit x86).
139
140 config FEATURE_INSMOD_VERSION_CHECKING
141         bool "Enable module version checking"
142         default n
143         depends on FEATURE_2_4_MODULES && (INSMOD || MODPROBE)
144         help
145           Support checking of versions for modules. This is used to
146           ensure that the kernel and module are made for each other.
147
148 config FEATURE_INSMOD_KSYMOOPS_SYMBOLS
149         bool "Add module symbols to kernel symbol table"
150         default n
151         depends on FEATURE_2_4_MODULES && (INSMOD || MODPROBE)
152         help
153           By adding module symbols to the kernel symbol table, Oops messages
154           occuring within kernel modules can be properly debugged. By enabling
155           this feature, module symbols will always be added to the kernel symbol
156           table for proper debugging support. If you are not interested in
157           Oops messages from kernel modules, say N.
158
159 config FEATURE_INSMOD_LOADINKMEM
160         bool "In kernel memory optimization (uClinux only)"
161         default n
162         depends on FEATURE_2_4_MODULES && (INSMOD || MODPROBE)
163         help
164           This is a special uClinux only memory optimization that lets insmod
165           load the specified kernel module directly into kernel space, reducing
166           memory usage by preventing the need for two copies of the module
167           being loaded into memory.
168
169 config FEATURE_INSMOD_LOAD_MAP
170         bool "Enable insmod load map (-m) option"
171         default n
172         depends on FEATURE_2_4_MODULES && INSMOD
173         help
174           Enabling this, one would be able to get a load map
175           output on stdout. This makes kernel module debugging
176           easier.
177           If you don't plan to debug kernel modules, you
178           don't need this option.
179
180 config FEATURE_INSMOD_LOAD_MAP_FULL
181         bool "Symbols in load map"
182         default y
183         depends on FEATURE_INSMOD_LOAD_MAP && !MODPROBE_SMALL
184         help
185           Without this option, -m will only output section
186           load map. With this option, -m will also output
187           symbols load map.
188
189 config FEATURE_CHECK_TAINTED_MODULE
190         bool "Support tainted module checking with new kernels"
191         default y
192         depends on (LSMOD || FEATURE_2_4_MODULES) && !MODPROBE_SMALL
193         help
194           Support checking for tainted modules. These are usually binary
195           only modules that will make the linux-kernel list ignore your
196           support request.
197           This option is required to support GPLONLY modules.
198
199 config FEATURE_MODUTILS_ALIAS
200         bool "Support for module.aliases file"
201         default y
202         depends on DEPMOD || MODPROBE
203         help
204           Generate and parse modules.alias containing aliases for bus
205           identifiers:
206             alias pcmcia:m*c*f03fn*pfn*pa*pb*pc*pd* parport_cs
207
208           and aliases for logical modules names e.g.:
209             alias padlock_aes aes
210             alias aes_i586 aes
211             alias aes_generic aes
212
213           Say Y if unsure.
214
215 config FEATURE_MODUTILS_SYMBOLS
216         bool "Support for module.symbols file"
217         default y
218         depends on DEPMOD || MODPROBE
219         help
220           Generate and parse modules.symbols containing aliases for
221           symbol_request() kernel calls, such as:
222             alias symbol:usb_sg_init usbcore
223
224           Say Y if unsure.
225
226 config DEFAULT_MODULES_DIR
227         string "Default directory containing modules"
228         default "/lib/modules"
229         depends on DEPMOD || MODPROBE || MODPROBE_SMALL
230         help
231           Directory that contains kernel modules.
232           Defaults to "/lib/modules"
233
234 config DEFAULT_DEPMOD_FILE
235         string "Default name of modules.dep"
236         default "modules.dep"
237         depends on DEPMOD || MODPROBE || MODPROBE_SMALL
238         help
239           Filename that contains kernel modules dependencies.
240           Defaults to "modules.dep"
241
242 endmenu