Sigh another crash! + aliases broken

(ulmo@q.net)
18 May 1996 01:24:31 -0400


When I was reverting back to 1.99.4 because ifconfig didn't work
(all my IP#s!!), I got some crashes:

1.99.4 1154c4 000000000011523c T sys_wait4
1.99.3 109d91 0000000000109d1c T sys_sigreturn

Each one stayed in the function for a while.

Lots of oopses were displayed but not logged to disk, and spanning
many processes. 1.99.4 eventually hung in executable `date', with EAP
4001fce2 or thereabouts (hard to do much diagnosing in that state).

For what it's worth, I simply couldn't boot anything prior to 1.99.5
without these crashes just now, but 1.99.5 seems to fix it. Strange,
because I've used each one before when it first came out without any
problems.

But without my IP#s, what use is the kernel? I found the bug with
aliases to be invoked by this patch (1.99.5):

diff -u --recursive --new-file pre2.0.4/linux/net/core/dev.c linux/net/core/dev.c
--- pre2.0.4/linux/net/core/dev.c Mon May 13 23:02:51 1996
+++ linux/net/core/dev.c Thu May 16 16:35:55 1996
@@ -45,6 +45,8 @@
* Alan Cox : Cleaned up the backlog initialise.
* Craig Metz : SIOCGIFCONF fix if space for under
* 1 device.
+ * Thomas Bogendoerfer : Return ENODEV for dev_open, if there
+ * is no device open function.
*
*/

@@ -236,7 +238,7 @@

int dev_open(struct device *dev)
{
- int ret = 0;
+ int ret = -ENODEV;

/*
* Call device private open method

So I reverse it and everything is fine.

Of course maybe it's fixing something but the fix is half made (like a
doctor opening a patient and cutting a cancer but not taking it out or
closing him).