Messages in this thread |  | | Date | Fri, 1 Nov 1996 16:59:53 +0200 (EET) | From | Linus Torvalds <> | Subject | Linux-2.1.7 |
| |
Ok, 2.1.7 is out there in ftp-land, and has the new clever exception handling implementation done by Richard Henderson for both x86 and alpha (I think the idea was originally Ingo Molnars, but I could be mistaken, and Richard certainly took it to new heights of elegance). Anyway, the new stuff uses some clever linker tricks to essentially do zero-cost exception handling rather than having to waste precious instructions to update the per-task exception structure. Very nifty indeed.
The interface is still exactly the same, only some low-level architecture- specific implementation details changed. It's all so clever that it's scary. People interested in low-level scary stuff should take a look at the uaccess.h files for x86 or alpha, and be ready to spend some time just figuring out what it all does ;)
Anyway, the new exceptions do have a down-side: the exception tables do not currently get exported from kernel loadable modules. This is not something fundamentally hard: it's just something that needs to be handled by the insmod &co people, and which hasn't been done yet. Anybody who feels he can be useful in making insmod talk to the kernel about the exception tables (Björn? Jacques?), please contact Richard <rth@tamu.edu> about this.
Note that the lack of exception data in modules does _not_ mean that modules don't work. It only means that modules can't handle user space address exceptions, and thus can't recover gracefully from EFAULT errors. As such you can still load and use the modules (assuming you have the other 2.1.x fixes for insmod module loading), but I'd suggest against it on any system with untrusted users that you expect to do nasty things just for fun.
Apart from the new clever exceptions, the other changes in 2.1.7 are: - baycom driver is a real network driver instead of a strange character driver. - soundmodem driver. You don't want to know what perversions people are up to ;) (If you _do_ want to know, read the docs) - various drivers which had boo-boo's with the new exception code fixed up (ie ftape/md/cdrom/eql should work again) - isdn silly problems should be fixed - scc driver update - tulip driver multicast lists - aha1740 should work again (virtual/physical address probs on x86, funnily it worked on alpha) - quota unmount bug should be fixed in 2.1.x too
Anyway, I finally think the exception stuff is starting to be stable (apart from the issues on module loading), and I think I'll try to start integrating some of the other patches in the next few weeks. So expect to start seeing ipv6/PPC/Sparc/m68k/ARM etc patches any week now (and my apologies to the developers of those things for being slow to react - you're all in my queue of things to handle, I've just been slow to get everything else cleared up).
Linus
|  |