Messages in this thread |  | | Date | Tue, 24 Sep 1996 09:52:26 +0300 (EET DST) | From | Linus Torvalds <> | Subject | Re: test version of 2.1.0 available |
| |
On Tue, 24 Sep 1996, Richard Gooch wrote: > > I've just tried this, and get the following behaviour when I try to > load a module (this happens for a variety of modules, not just one): > > # cd /lib/modules/2.1.0/net > # insmod 3c509.o > create_module: Unknown error 997978112
Ok, this is due to the silly library stub seemingly thinking that a large positive value is in fact a error condition due to sign problems.
That doesn't mean that the kernel is broken: there are other system calls that return large numbers that might be thought of as negative even though they aren't errors (just an example: mmap() can return addresses with the high bit set, and always could).
Instead of testing the sign bit, the low-level system call should probably do something like this:
... do system call, return in %eax ... movl %eax,%edx addl $4095,%edx jc error error if return was -1 .. -4095
Is somebody willing to fix up the module loader?
Linus
|  |