From 7eaf58d9586404b4d664f23f3c9f335f053db6b0 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Wed, 17 Jun 2009 20:33:50 +0200 Subject: modprobe: do not use ->probed_name blidly Signed-off-by: Denys Vlasenko --- modutils/modprobe.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'modutils') diff --git a/modutils/modprobe.c b/modutils/modprobe.c index cfc16cb34..bef657929 100644 --- a/modutils/modprobe.c +++ b/modutils/modprobe.c @@ -220,6 +220,12 @@ static int read_config(const char *path) config_file_action, NULL, NULL, 1); } +static const char *humanly_readable_name(struct module_entry *m) +{ + /* probed_name may be NULL. modname always exists. */ + return m->probed_name ? m->probed_name : m->modname; +} + /* Return: similar to bb_init_module: * 0 on success, * -errno on open/read error, @@ -234,7 +240,8 @@ static int do_modprobe(struct module_entry *m) if (!(m->flags & MODULE_FLAG_FOUND_IN_MODDEP)) { if (!(option_mask32 & INSMOD_OPT_SILENT)) - bb_error_msg("module %s not found in modules.dep", m->probed_name); + bb_error_msg("module %s not found in modules.dep", + humanly_readable_name(m)); return -ENOENT; } DBG("do_modprob'ing %s", m->modname); @@ -259,7 +266,7 @@ static int do_modprobe(struct module_entry *m) if (rc) { if (first) { bb_error_msg("failed to unload module %s: %s", - m2->probed_name ? m2->probed_name : m2->modname, + humanly_readable_name(m2), moderror(rc)); break; } @@ -286,7 +293,7 @@ static int do_modprobe(struct module_entry *m) free(options); if (rc) { bb_error_msg("failed to load module %s (%s): %s", - m2->probed_name ? m2->probed_name : m2->modname, + humanly_readable_name(m2), fn, moderror(rc) ); -- cgit v1.2.3