[BusyBox] bug in insmod applet

Ronald Wahl rwa at peppercon.com
Fri Dec 14 03:05:08 UTC 2001


Hi,

I found a bug in the insmod applet regarding modules that use exception
handling. If I use the following code sequence in my modules and the
processor get a machine check during the "eieio" command the fixup code
should be run. This works if a regular insmod is used. The insmod from
busybox seem to ignore the .fixup and/or __ex_table section.

        __asm__ __volatile__(
			     "       stwbrx %2,0,%3\n"
			     "1:     eieio\n"
			     "       li %1,0\n"
			     "2:\n"
			     ".section .fixup,\"ax\"\n"
			     "3:     li %1,-1\n"
			     "       b 2b\n"
			     ".section __ex_table,\"a\"\n"
			     "       .align 2\n"
			     "       .long 1b,3b\n"
			     ".text"
			     : "=m" (*addr), "=r" (err)
			     : "r" (data), "r" (addr) );

It would be very nice if this could be fixed in the next release of
busybox.

thanks in advance,
ron

-- 
\\      Dipl.-Inf. Ronald Wahl   |   Peppercon AG                  //
 \\\         rwa at peppercon.com  |||  http://www.peppercon.com/   /// 
  \OO  -----------------------  OOO  -------------------------  OO/ 
   OO  GnuPG/PGP key available  OOO  Keep Systems running       OO





More information about the busybox mailing list