aboutsummaryrefslogtreecommitdiff
path: root/modutils/insmod.c
AgeCommit message (Collapse)Author
2004-04-06Christian Grigis, christian.grigis at smartdata dot ch writes:Eric Andersen
Hello everyone, Busybox's insmod fails to locate a module when that module is the only one existing in the /lib/modules directory (with a unique name). Example: # find /lib/modules/ -type f /lib/modules/kernel/drivers/char/bios.o # insmod bios insmod: bios.o: no module by that name found # touch /lib/modules/dummy # find /lib/modules/ -type f /lib/modules/kernel/drivers/char/bios.o /lib/modules/dummy # insmod bios Using /lib/modules/kernel/drivers/char/bios.o As long as there is another file in the /lib/modules directory, insmod finds it OK. I tracked the problem down to 'check_module_name_match()' in insmod.c: It returns TRUE when a match is found, and FALSE otherwise. In the case where there is only one module in the /lib/modules directory (or more that one module, but all with the same name), 'recursive_action()' will return TRUE and we end up on line 4196 in 'insmod.c' which returns an error. [The reason it works with more than one module with different names is that in this case there will always be one not matching, 'recursive_action()' will return FALSE and we end up in line 4189.] Now, from the implementation of 'recursive_action()' and from other usages of it (tar.c, etc.), it seems to me that FALSE should be returned to indicate that we want to stop the recursion, so TRUE and FALSE should be inverted in 'check_module_name_match()'. At the same time, 'recursive_action()' continues to recurse even after the recursive call has returned FALSE; again in my understanding and other usages of it, we can safely stop recursing at this point. Here is my patch against 1.00-pre8:
2004-03-19Add missing ELFCLASSM for m68kEric Andersen
2004-03-19Only use R_68K_GOTOFF if it is definedEric Andersen
2004-03-15Remove trailing whitespace. Update copyright to include 2004.Eric Andersen
2004-02-18Patch from OpenWrt.Manuel Novoa III
2004-01-05Fix broken #elseEric Andersen
2003-12-31Fix debian bug #215612, insmod should be silent on requestGlenn L McGrath
2003-12-24re-indentEric Andersen
2003-12-19Patch from Woody Suwalski:Eric Andersen
Erik, I think we have met online some time ago when I was in Corel/Rebel Netwinder project.... Anyway, I would like to use BB on 2.6.0 initrd. 1.00-pre4 works OK, if insmod is actually presented with a full path to the module. Otherwise - problems (not to mention conflicts when 2.4 modutil is enabled) Here are some patches for insmod and modprobe which try to walk around the default ".o" module format for 2.2/2.4 modules (you have probably noticed it is now .ko in 2.6 ;-)) Trying to steal as little space as possible if 2.6 not enabled... The modprobe is still not perfect on 2.6 - seems to be jamming on some dependencies, but works with some (to be debugged). Anyway after the patches it at least tries to work.... Will there be a 1.00-pre5 coming any time soon? Thanks, Woody
2003-12-11Update modutils with 2.6 module supportEric Andersen
2003-12-04Add (untested) support for cris, based on the (old) busybox insmodManuel Novoa III
that axis distributes.
2003-10-21Do a better job of dealing with screwy s390 abi changesEric Andersen
2003-10-20ccording to this:Eric Andersen
http://sources.redhat.com/ml/binutils/2003-01/msg00290.html The name R_390_GOTOFF was changed to R_390_GOTOFF32. -Erik
2003-09-03To load GPLONLY symbols its is required that CHECK_TAINTED_MODULES beGlenn L McGrath
enabled, if not GPLONLY symbols are ignored.
2003-08-31"insmod caches the symbolname in a variable before modifying it and usesGlenn L McGrath
the cached value afterwards." - Jean Wolter
2003-08-30handle GPLONLY symbolsGlenn L McGrath
2003-08-13Patch from Paul Mundt (lethal) adding sh64 insmod support for busyboxEric Andersen
2003-07-22Remove remaining libc5 support codeEric Andersen
2003-07-14Update a bunch of docs. Run a script to update my email addr.Eric Andersen
2003-03-19Major coreutils update.Manuel Novoa III
2003-03-13Fix obviously wrong names from older busyboxEric Andersen
2003-01-23Patch from Jason McMullan @ linuxcare.com adding insmodEric Andersen
support for s390 systems.
2003-01-23Patch from Artem Egorkine to support the -m optionEric Andersen
2003-01-23Patch from Joel Vallier to add modules symbols to the kernel symbolEric Andersen
table in order to obtain better debug output from ksymoops.
2002-11-28Change if(x)free(x); to free(x);Aaron Lehmann
2002-10-10last_patch61 from vodz:Eric Andersen
New complex patch for decrease size devel version. Requires previous patch. Also removed small problems from dutmp and tar applets. Also includes vodz' last_patch61_2: Last patch correcting comment for #endif and more integrated with libbb (very reduce size if used "cat" applet also). Requires last_patch61 for modutils/config.in.
2002-09-16Support module taintingEric Andersen
-Erik
2002-07-21Fixed two compiler warningsRobert Griebl
2002-07-19Applied vodz' patches #49 and #50 (with a small correction in runshell.c)Robert Griebl
#49: I found one memory overflow and memory leak in "ln" applet. Last patch reduced also 54 bytes. ;) #50: I found bug in loginutils/Makefile.in. New patch have also new function to libbb and aplied this to applets and other cosmetic changes.
2002-07-02David Frascone <dave@frascone.com> noticed two problems. First, modprobe wasEric Andersen
trying to call 'insmod -q', which wasn't supported. Secondly, when modprobe was fed blank lines from modules.dep, we ended up calling xstrndup(ptr, -1), which with suitably bad results. David provided a patch to catch the blank lines, and I have added insmod -q support. So modprobe should work again. -Erik
2002-06-22Apply vodz' cleanup for insmod buffer overflows, which was cleanerEric Andersen
than my first effort.
2002-06-18As noted by Yves Lavoie ing. <yves.lavoie.ing@sympatico.ca>, don'tEric Andersen
lose the last letter of the module name.
2002-06-06Fix buffer overflows noted by Gerardo PugaEric Andersen
-Erik
2002-05-24Patch from Magnus Damm <damm@opensource.se> to rework thingsEric Andersen
greatly, and keep the arch specific relocations together, fixes R_PPC_ADDR32 handling so powerpc can work, and changes the tlb tables to be linked lists (again so powerpc can work).
2002-05-03Patch from Robert Griebl <griebl@gmx.de> to ignore the -s flagEric Andersen
2002-04-12Fix handling of endianness.Eric Andersen
-Erik
2002-04-01Tweak my credit (ah, vanity...)Miles Bader
2002-04-01Add support for the NEC v850e processor.Miles Bader
2001-12-29Silence some silly warningsEric Andersen
-Erik
2001-12-20Remove `== TRUE' tests and convert `!= TRUE' and `== FALSE' tests to use !.Matt Kraai
2001-12-14Add support for big-endian ARM (initial patch by Mike Voytovich).Matt Kraai
2001-11-12Change strdup calls to xstrdup (patch from Steve Merrifield).Matt Kraai
2001-10-24Major rework of the directory structure and the entire build system.Eric Andersen
-Erik
2001-08-22Force BB_FEATURE_NEW_MODULE_INTERFACE and BB_FEATURE_OLD_MODULE_INTERFACEEric Andersen
to be mutually exclusive
2001-08-22Fix an _old_ interface problem with a never-used feature.Eric Andersen
2001-08-06Simplified version checking.Matt Kraai
2001-07-31Silence a silly warningEric Andersen
2001-07-25Note that m68k is supportedEric Andersen
2001-07-17This is vodz' latest patch. Sorry it took so long...Eric Andersen
1) ping cleanup (compile fix from this patch already applied). 2) traceroute call not spare ntohl() now (and reduce size); 3) Fix for functions not declared static in insmod, ash, vi and mount. 4) a more simple API cmdedit :)) 5) adds "stopped jobs" warning to ash on Ctrl-D and fixes "ignoreeof" option 6) reduce exporting library function index->strchr (traceroute), bzero->memset (syslogd)
2001-06-28Fix a nasty hard to spot bug found by Ralph Siemsen <ralphs@netwinder.org>.Eric Andersen
This would cause it to obliterates the end of the strtab section, so symbol lookups would fail and then it would crash. Ugh. This should fix things for people having trouble with insmod.