2.1.64 report

SL Baur (steve@xemacs.org)
14 Nov 1997 21:27:22 -0800


(2.1.63 was the first of the 2.1 kernels I've tried).

I built off of a new source tree with the following changes:

* SMP = 1 commented out of Makefile

* Boomerang driver 3c59x.c-0.46C replacing the existing useless
0.25 one. (0.46C doesn't build cleanly as a non-module until the
MODULE_AUTHOR, MODULE_DESCRIPTION, MODULE_PARM calls are guarded
by an ifdef MODULE - patch appended).

* drivers/sound/softoss.c: `#include <sys/ultrasound.h>' replaced with
`#include <linux/ultrasound.h>'.

The F0 0F trapping works differently than it did in 2.1.63. In .63
all the exploit programs I tried dropped core with an `illegal
hardware instruction' message (I had also applied the patch in
<Pine.LNX.3.95.971112175917.444E-100000@penguin.transmeta.com>).
In .64 it oopses:

$ ~/tmp/pentium-crash
zsh: 477 killed /home/steve/tmp/pentium-crash

Nov 14 20:58:35 altair kernel: Unable to handle kernel paging request at virtual address c47ffff8
Nov 14 20:58:35 altair kernel: current->tss.cr3 = 0365c000, ^Pr3 = 0365c000
Nov 14 20:58:35 altair kernel: *pde = 00000000

[The syslog and output from dmesg stops here]

* I got the following error messages when doing the initial `make
xconfig':

# make xconfig
rm -f include/asm
( cd include ; ln -sf asm-i386 asm)
make -C scripts kconfig.tk
make[1]: Entering directory `/usr/src/linux-2.1.64/scripts'
make -C /usr/src/linux/drivers/sound mkscript
make[2]: Entering directory `/usr/src/linux-2.1.64/drivers/sound'
Compiling Sound Driver v 3.8s for Linux
rm -f configure
gcc -o configure configure.c
./configure script > Config.in
cat lowlevel/Config.tmpl >> Config.in
./configure fixedlocal > local.h
./configure fixeddefines > .defines
make[2]: Leaving directory `/usr/src/linux-2.1.64/drivers/sound'

gcc -O2 -fomit-frame-pointer -g -Wall -c -o tkparse.o tkparse.c
tkparse.c: In function `do_source':
tkparse.c:588: warning: `old_file' might be used uninitialized in this function
gcc -O2 -fomit-frame-pointer -g -Wall -c -o tkcond.o tkcond.c
gcc -O2 -fomit-frame-pointer -g -Wall -c -o tkgen.o tkgen.c
tkgen.c: In function `dump_tk_script':
tkgen.c:680: warning: `menulabel' might be used uninitialized in this function
gcc -o tkparse tkparse.o tkcond.o tkgen.o
./tkparse < ../arch/i386/config.in > kconfig.tmp
cat header.tk >> ./kconfig.tk
cat kconfig.tmp >> kconfig.tk
rm -f kconfig.tmp
echo "set defaults \"arch/i386/defconfig\"" >> kconfig.tk
cat tail.tk >> kconfig.tk
chmod 755 kconfig.tk
make[1]: Leaving directory `/usr/src/linux-2.1.64/scripts'
wish -f scripts/kconfig.tk
WARNING - broken Config.in! N was not declared!
WARNING - broken Config.in! CONFIG_PPC was not declared!
WARNING - broken Config.in! CONFIG_PMAC was not declared!
WARNING - broken Config.in! CONFIG_MIPS_JAZZ was not declared!
WARNING - broken Config.in! CONFIG_UART6850 was not declared!
make[1]: Entering directory `/usr/src/linux-2.1.64/drivers/sound'
Compiling Sound Driver v 3.8s for Linux
rm -f configure
gcc -o configure configure.c
./configure fixedlocal > local.h
./configure fixeddefines > .defines
make[1]: Leaving directory `/usr/src/linux-2.1.64/drivers/sound'

$ cat /proc/cpuinfo
processor : 0
cpu : 586
model : Pentium 75+
vendor_id : GenuineIntel
stepping : 12
fdiv_bug : no
hlt_bug : no
sep_bug : no
f00f_bug : yes
fpu : yes
fpu_exception : yes
cpuid : yes
wp : yes
flags : fpu vme de pse tsc msr mce cx8
bogomips : 81.92

Patch for 3c59x.c 0.46C so it can built as a non-Module:

--- /usr/local/src/drivers/3c59x.c-0.46C Mon Nov 10 09:29:50 1997
+++ linux-2.1.64/drivers/net/3c59x.c Thu Nov 13 12:18:36 1997
@@ -114,6 +114,7 @@
#if (LINUX_VERSION_CODE < 0x20123)
#define test_and_set_bit(val, addr) set_bit(val, addr)
#else
+#ifdef MODULE
MODULE_AUTHOR("Donald Becker <becker@cesdis.gsfc.nasa.gov>");
MODULE_DESCRIPTION("3Com 3c590/3c900 series Vortex/Boomerang driver");
MODULE_PARM(debug, "i");
@@ -121,6 +122,7 @@
MODULE_PARM(full_duplex, "1-" __MODULE_STRING(8) "i");
MODULE_PARM(rx_copybreak, "i");
MODULE_PARM(max_interrupt_work, "i");
+#endif
#endif

/* "Knobs" for adjusting internal parameters. */