1
0
Files
linux/debian/patches/debian/kbuild-abort-build-if-subdirs-used.patch
Konstantin Demin c3d09a3e94 initial commit
imported from https://salsa.debian.org/kernel-team/linux.git
commit 9d5cc9d9d6501d7f1dd7e194d4b245bd0b6c6a22
version 6.11.4-1
2024-10-23 12:12:30 +03:00

38 lines
1.2 KiB
Diff

From: Ben Hutchings <benh@debian.org>
Date: Mon, 26 Apr 2021 18:27:16 +0200
Subject: kbuild: Abort build if SUBDIRS used
Forwarded: not-needed
Bug-Debian: https://bugs.debian.org/987575
DKMS and module-assistant both build OOT modules as root. If they
build an old OOT module that still use SUBDIRS this causes Kbuild
to try building a full kernel, which obviously fails but not before
deleting files from the installed headers package.
To avoid such mishaps, detect this situation and abort the build.
The error message is based on that used in commit 0126be38d988
"kbuild: announce removal of SUBDIRS if used".
---
--- a/Makefile
+++ b/Makefile
@@ -218,6 +218,18 @@ ifeq ("$(origin M)", "command line")
KBUILD_EXTMOD := $(M)
endif
+# Old syntax make ... SUBDIRS=$PWD should be rejected to avoid mishaps
+# (see Debian bugs #982334, #987575)
+ifndef KBUILD_EXTMOD
+ ifdef SUBDIRS
+ $(warning =============== ERROR ==============)
+ $(warning 'SUBDIRS' was removed in Linux 5.3)
+ $(warning Use 'M=' or 'KBUILD_EXTMOD=' instead)
+ $(warning ====================================)
+ $(error .)
+ endif
+endif
+
$(if $(word 2, $(KBUILD_EXTMOD)), \
$(error building multiple external modules is not supported))