diff options
Diffstat (limited to 'modutils')
-rw-r--r-- | modutils/Config.in | 7 | ||||
-rw-r--r-- | modutils/modprobe-small.c | 12 |
2 files changed, 3 insertions, 16 deletions
diff --git a/modutils/Config.in b/modutils/Config.in index f76a0820e..a430fcac3 100644 --- a/modutils/Config.in +++ b/modutils/Config.in | |||
@@ -54,13 +54,6 @@ config FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED | |||
54 | Check if the module is already loaded. | 54 | Check if the module is already loaded. |
55 | N.B. It's racy. | 55 | N.B. It's racy. |
56 | 56 | ||
57 | config FEATURE_MODPROBE_SMALL_ZIPPED | ||
58 | bool "Handle gzipped or bzipped modules" | ||
59 | default n | ||
60 | depends on MODPROBE_SMALL | ||
61 | help | ||
62 | Handle compressed modules. Bloaty. Sloooow. | ||
63 | |||
64 | config DEPMOD | 57 | config DEPMOD |
65 | bool "depmod" | 58 | bool "depmod" |
66 | default n | 59 | default n |
diff --git a/modutils/modprobe-small.c b/modutils/modprobe-small.c index ea130b83c..ac08ba7d7 100644 --- a/modutils/modprobe-small.c +++ b/modutils/modprobe-small.c | |||
@@ -100,7 +100,7 @@ static char* find_keyword(char *ptr, size_t len, const char *word) | |||
100 | { | 100 | { |
101 | int wlen; | 101 | int wlen; |
102 | 102 | ||
103 | if (!ptr) /* happens if read_module cannot read it */ | 103 | if (!ptr) /* happens if xmalloc_open_zipped_read_close cannot read it */ |
104 | return NULL; | 104 | return NULL; |
105 | 105 | ||
106 | wlen = strlen(word); | 106 | wlen = strlen(word); |
@@ -141,12 +141,6 @@ static char* str_2_list(const char *str) | |||
141 | return dst; | 141 | return dst; |
142 | } | 142 | } |
143 | 143 | ||
144 | #if ENABLE_FEATURE_MODPROBE_SMALL_ZIPPED | ||
145 | # define read_module xmalloc_open_zipped_read_close | ||
146 | #else | ||
147 | # define read_module xmalloc_open_read_close | ||
148 | #endif | ||
149 | |||
150 | /* We use error numbers in a loose translation... */ | 144 | /* We use error numbers in a loose translation... */ |
151 | static const char *moderror(int err) | 145 | static const char *moderror(int err) |
152 | { | 146 | { |
@@ -173,7 +167,7 @@ static int load_module(const char *fname, const char *options) | |||
173 | char *module_image; | 167 | char *module_image; |
174 | dbg1_error_msg("load_module('%s','%s')", fname, options); | 168 | dbg1_error_msg("load_module('%s','%s')", fname, options); |
175 | 169 | ||
176 | module_image = read_module(fname, &len); | 170 | module_image = xmalloc_open_zipped_read_close(fname, &len); |
177 | r = (!module_image || init_module(module_image, len, options ? options : "") != 0); | 171 | r = (!module_image || init_module(module_image, len, options ? options : "") != 0); |
178 | free(module_image); | 172 | free(module_image); |
179 | dbg1_error_msg("load_module:%d", r); | 173 | dbg1_error_msg("load_module:%d", r); |
@@ -195,7 +189,7 @@ static void parse_module(module_info *info, const char *pathname) | |||
195 | 189 | ||
196 | /* Read (possibly compressed) module */ | 190 | /* Read (possibly compressed) module */ |
197 | len = 64 * 1024 * 1024; /* 64 Mb at most */ | 191 | len = 64 * 1024 * 1024; /* 64 Mb at most */ |
198 | module_image = read_module(pathname, &len); | 192 | module_image = xmalloc_open_zipped_read_close(pathname, &len); |
199 | //TODO: optimize redundant module body reads | 193 | //TODO: optimize redundant module body reads |
200 | 194 | ||
201 | /* "alias1 symbol:sym1 alias2 symbol:sym2" */ | 195 | /* "alias1 symbol:sym1 alias2 symbol:sym2" */ |