61 lines
2.4 KiB
Diff
61 lines
2.4 KiB
Diff
From: Ben Hutchings <ben@decadent.org.uk>
|
|
Date: Fri, 2 Dec 2016 00:07:04 +0000
|
|
Subject: Revert "Fix subtle CONFIG_MODVERSIONS problems"
|
|
|
|
This reverts commit cd3caefb4663e3811d37cc2afad3cce642d60061.
|
|
|
|
On Fri, 2016-11-25 at 10:01 -0800, Linus Torvalds wrote:
|
|
[...]
|
|
> > What else do people *actually* use it for? Preventing mismatched modules
|
|
> > when .git version is not attached and release version of the kernel has
|
|
> > not been bumped. Is that it?
|
|
>
|
|
> It used to be very useful for avoiding loading stale modules and then
|
|
> wasting days on debugging something that wasn't the case when you had
|
|
> forgotten to do "make modules_install". Change some subtle internal
|
|
> ABI issue (add/remove a parameter, whatever) and it would really help.
|
|
>
|
|
> These days, for me, LOCALVERSION_AUTO and module signing are what I
|
|
> personally tend to use.
|
|
>
|
|
> The modversions stuff may just be too painful to bother with. Very few
|
|
> people probably use it, and the ones that do likely don't have any
|
|
> overriding reason why.
|
|
[...]
|
|
|
|
Debian has some strong reasons:
|
|
|
|
1. Changing the release string requires any out-of-tree modules to be
|
|
upgraded (at least rebuilt) on end-user systems. So we try to avoid
|
|
doing that during the lifetime of a stable release, i.e. we don't let
|
|
the release string change. Also, the release string is reflected in
|
|
package names (e.g. linux-image-4.8.0-1-amd64), and introducing new
|
|
package names requires manual approval by the Debian archive team.
|
|
|
|
2. We want to allow ABI breaks for "internal" symbols used only by in-
|
|
tree modules, as those breaks will be resolved by rebooting to complete
|
|
the upgrade. But we need a run-time check to prevent loading an
|
|
incompatible module before the reboot.
|
|
|
|
3. So far as I can see, module signing doesn't work for a distribution
|
|
kernel with out-of-tree modules as there has to be a trust path from a
|
|
built-in certificate to the module signing certificate. So signature
|
|
enforcement will have to be disabled on systems that use out-of-tree
|
|
modules, thus it's not a substitute for modversions.
|
|
---
|
|
init/Kconfig | 1 -
|
|
1 file changed, 1 deletion(-)
|
|
|
|
diff --git a/init/Kconfig b/init/Kconfig
|
|
index c4fbc1e55c25..34407f15e6d3 100644
|
|
--- a/init/Kconfig
|
|
+++ b/init/Kconfig
|
|
@@ -1945,7 +1945,6 @@ config MODULE_FORCE_UNLOAD
|
|
|
|
config MODVERSIONS
|
|
bool "Module versioning support"
|
|
- depends on BROKEN
|
|
help
|
|
Usually, you have to use modules compiled with your kernel.
|
|
Saying Y here makes it sometimes possible to use modules
|