aboutsummaryrefslogtreecommitdiff
path: root/modutils
diff options
context:
space:
mode:
Diffstat (limited to 'modutils')
-rw-r--r--modutils/Config.in7
-rw-r--r--modutils/modprobe-small.c12
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
57config 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
64config DEPMOD 57config 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... */
151static const char *moderror(int err) 145static 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" */