[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#751721: Figure out how to deal with ABI changes



Package: linux
Severity: normal

Hi there,

apparently we only guarantee that with a new ABI version, old modules
are still compatible. The reverse, new modules with an old kernel, seems
as important to me, though.

There are many ways a kernel can be updated on disk that are not
necessarily triggered by user action. But the consequence of the current
ABI policy is that you might find yourself unable to remove or insert
modules because the kernel image has been auto-updated and the new
modules can no longer be inserted.  This causes silent breakage wrt
auto-loading or noisy one like this:

pkern@hub:~$ sudo modprobe loop
[sudo] password for pkern:
ERROR: could not insert 'loop': Unknown symbol in module, or unknown parameter (see dmesg)
pkern@hub:~$ strings /boot/vmlinuz-3.2.0-4-amd64 |grep Debian
3.2.0-4-amd64 (debian-kernel@lists.debian.org) #1 SMP Debian 3.2.57-3
pkern@hub:~$ dmesg | grep loop
[5575038.225037] loop: Unknown symbol bdgrab (err 0)

To tell people to always reboot when their kernel image is updated, is
kind of flawed. They might not be aware and suddenly the device they
plugged in does not work. They might get a reboot notification, of
course, but might also not realize that it can break their running
system.

Ubuntu claims with every update that there is an unavoidable ABI change.
I guess that's why. It at least sidesteps this issue if you handle ABI
changes that way. Of course it also makes d-i more brittle unless you
keep old ABI versions around and do not decruft them.

Kind regards and thanks
Philipp Kern


Reply to: