Messages in this thread |  | | From | Keith Owens <> | Subject | Re: Where did vm_operations_struct->unmap in 2.4.0 go? | Date | Sun, 14 Jan 2001 11:21:20 +1100 |
| |
On Sat, 13 Jan 2001 15:09:40 +0000 (GMT), David Woodhouse <dwmw2@infradead.org> wrote: >Lack of [module symbol] runtime typechecking isn't a showstopper.
It is when users try to insert modules from kernel A into kernel B when the ABI changed between A and B. This is not type checking to catch kernel programmers, it is ABI checking to catch user errors.
This is becoming more important as the kernel moves towards hot plugging devices, especially for binary only drivers. It is far better for the kernel community if modutils can say "cannot load module foo because its interfaces do not match the kernel, upgrade module foo". That forces the maintenance load back onto the binary supplier and removes the questions from l-k, including many of the oops reports with binary only drivers in the module list.
Module symbol versions are the only way to catch ABI changes. I do not want to add a mechanism for accessing symbols dynamically if it cannot detect ABI changes, it leaves the kernel open to difficult to diagnose user errors. I'm doing the hard work now to save everybody time later.
Ignore the fact that the existing module symbol version implementation is broken as designed. http://gear.torque.net/kbuild/archive/1280.html lists the major problems with make dep, genksyms has all those problems plus several of its own. As part of the Makefile rewrite for 2.5, I am redesigning module symbol versions from scratch.
I agree that inter_module_xxx does not check ABI. That was not for lack of trying, but it cannot be done in 2.4, it needs a major redesign of module symbols and the makefiles. It will be possible in 2.5.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
|  |