summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mdk-stage1/insmod-busybox/busybox.h1
-rw-r--r--mdk-stage1/insmod-busybox/insmod.c66
-rw-r--r--mdk-stage1/insmod-busybox/utility.c10
3 files changed, 17 insertions, 60 deletions
diff --git a/mdk-stage1/insmod-busybox/busybox.h b/mdk-stage1/insmod-busybox/busybox.h
index 72d5e0a69..6e7bae39b 100644
--- a/mdk-stage1/insmod-busybox/busybox.h
+++ b/mdk-stage1/insmod-busybox/busybox.h
@@ -337,6 +337,7 @@ extern const char *applet_name;
extern void usage(const char *usage) __attribute__ ((noreturn));
extern void errorMsg(const char *s, ...) __attribute__ ((format (printf, 1, 2)));
+extern void logperror(char *s);
extern void fatalError(const char *s, ...) __attribute__ ((noreturn, format (printf, 1, 2)));
const char *modeString(int mode);
diff --git a/mdk-stage1/insmod-busybox/insmod.c b/mdk-stage1/insmod-busybox/insmod.c
index 86c9ad181..95dee8855 100644
--- a/mdk-stage1/insmod-busybox/insmod.c
+++ b/mdk-stage1/insmod-busybox/insmod.c
@@ -607,31 +607,6 @@ static char m_fullName[BUFSIZ + 1] = "\0";
/*======================================================================*/
-static int findNamedModule(const char *fileName, struct stat *statbuf,
- void *userDate)
-{
- char *fullName = (char *) userDate;
-
-
- if (fullName[0] == '\0')
- return (FALSE);
- else {
- char *tmp = strrchr(fileName, '/');
-
- if (tmp == NULL)
- tmp = (char *) fileName;
- else
- tmp++;
- if (check_wildcard_match(tmp, fullName) == TRUE) {
- /* Stop searching if we find a match */
- memcpy(m_filename, fileName, strlen(fileName)+1);
- return (FALSE);
- }
- }
- return (TRUE);
-}
-
-
/*======================================================================*/
struct obj_file *arch_new_file(void)
@@ -1456,7 +1431,7 @@ static int old_get_kernel_symbols(const char *m_name)
ks = k = xmalloc(nks * sizeof(*ks));
if (get_kernel_syms(ks) != nks) {
- perror("inconsistency with get_kernel_syms -- is someone else "
+ logperror("inconsistency with get_kernel_syms -- is someone else "
"playing with modules?");
free(ks);
return 0;
@@ -2781,27 +2756,8 @@ extern int insmod_main( int argc, char **argv)
if (argc <= 1)
my_usage();
- /* Parse any options */
- while (--argc > 0 && **(++argv) == '-') {
- while (*(++(*argv))) {
- switch (**argv) {
- case 'f': /* force loading */
- flag_force_load = 1;
- break;
- case 'k': /* module loaded by kerneld, auto-cleanable */
- flag_autoclean = 1;
- break;
- case 'x': /* do not export externs */
- flag_export = 0;
- break;
- default:
- my_usage();
- }
- }
- }
+ argv++; argc--;
- if (argc <= 0)
- my_usage();
/* Grab the module name */
if ((tmp = strrchr(*argv, '/')) != NULL) {
tmp++;
@@ -2818,25 +2774,15 @@ extern int insmod_main( int argc, char **argv)
/* Get a filedesc for the module */
if ((fp = fopen(*argv, "r")) == NULL) {
- /* Hmpf. Could not open it. Search through _PATH_MODULES to find a module named m_name */
- if (recursiveAction(_PATH_MODULES, TRUE, FALSE, FALSE,
- findNamedModule, 0, m_fullName) == FALSE)
- {
- if (m_filename[0] == '\0'
- || ((fp = fopen(m_filename, "r")) == NULL))
- {
- errorMsg("No module named '%s' found in '%s'", m_fullName, _PATH_MODULES);
- return -1;
- }
- } else
- fatalError("No module named '%s' found in '%s'", m_fullName, _PATH_MODULES);
+ errorMsg("Module %s not found", *argv);
+ return -1;
} else
memcpy(m_filename, *argv, strlen(*argv));
if ((f = obj_load(fp)) == NULL) {
- perror("Could not load the module\n");
- return -1;
+ logperror("Could not load the module");
+ goto out;
}
if (get_modinfo_value(f, "kernel_version") == NULL)
diff --git a/mdk-stage1/insmod-busybox/utility.c b/mdk-stage1/insmod-busybox/utility.c
index 89e460dd0..b9a115c72 100644
--- a/mdk-stage1/insmod-busybox/utility.c
+++ b/mdk-stage1/insmod-busybox/utility.c
@@ -91,6 +91,11 @@ void errorMsg(const char *s, ...)
fflush(stdout);
}
+extern void logperror(char *s)
+{
+ perror(s);
+}
+
void fatalError(const char *s, ...)
{
va_list p;
@@ -115,6 +120,11 @@ extern void errorMsg(const char *s, ...)
va_end(p);
}
+extern void logperror(char *s)
+{
+ log_perror(s);
+}
+
extern void fatalError(const char *s, ...)
{
va_list p;