Zack's Kernel News
Zack's Kernel News
Chronicler Zack Brown reports on the Importance of the User.
The Importance of the User
Recently, an important clarification of Linux kernel policy was made on the mailing list. In these articles, I occasionally point out that the kernel's Application Binary Interface (ABI) is sacrosanct. It boils down to this: If you have a compiled binary that runs under one version of Linux, then it should successfully run on the same hardware under all later versions of Linux. If it ever breaks, Linus Torvalds considers it to be a bug in the kernel that must immediately be fixed.
Why a binary executable? It's entirely possible that the very same source code that produced that binary could be compiled again under a later kernel – even one with a different ABI – and run successfully. Why bother supporting old binaries if the problem can be fixed by simply recompiling the software in question? The reason is this: You may not have the source code. That's it. Maybe it wasn't an open source piece of software. Maybe you had the sources once upon a time but lost them, yet still have the compiled binary. In that case, you really wouldn't – and shouldn't – expect the binary that worked yesterday to break today, simply because you updated your kernel.
Exceptions are very few. If the ABI is in fact a security hole, then the hole would be fixed, even if that meant breaking the ABI. Supporting the ABI is important, but security always comes first. Also, if it's really true that no users of a particular ABI can be found, then Linus has shown himself open to ditching that ABI. However, if even a single actual user exists, the ABI must be kept.
[...]
Buy this article as PDF
(incl. VAT)