3 ms·
That's the difference between the user-space interface, and the kernel ABI. The Linux kernel ABI has no compatibility guarantees. If you are linking to the kern
by lambda 15y ago
That's the difference between the user-space interface, and the kernel ABI. The Linux kernel ABI has no compatibility guarantees. If you are linking to the kernel, you are considered to be part of the kernel, and thus you are expected to keep abreast of any ABI changes (preferably by getting your module into the kernel tree, so that anyone changing the ABI can fix your code too).
The Debian kernel team tries to do a reasonable job of tracking kernel ABI compatibility changes, and updating the number when the ABI does change, to avoid having to recompile and reinstall everything for every patch to the stable tree. In this case, they decided that the ABI change was only intended for a single, in-tree module (KVM), and that they didn't have to increment the ABI number for a change that shouldn't affect anything else.
This is really just an example of the Linux kernel developers' two approaches to compatibility. For the kernel ABI, they make no guarantees whatsoever about compatibility. For the user space interface, they are supposed to never, ever change the interface in ways that will break existing programs, though there are sometimes disagreements about what precisely constitutes this interface and what is outside the bounds of it.