]> git.hungrycats.org Git - linux/commitdiff
kbuild: forbid kernel directory to contain spaces and colons
authorRobert Jarzmik <robert.jarzmik@free.fr>
Sat, 2 Apr 2016 19:38:53 +0000 (21:38 +0200)
committerJiri Slaby <jslaby@suse.cz>
Thu, 6 Oct 2016 06:21:52 +0000 (08:21 +0200)
commit 51193b76bfff5027cf96ba63effae808ad67cca7 upstream.

When the kernel path contains a space or a colon somewhere in the path
name, the modules_install target doesn't work anymore, as the path names
are not enclosed in double quotes. It is also supposed that and O= build
will suffer from the same weakness as modules_install.

Instead of checking and improving kbuild to resist to directories
including these characters, error out early to prevent any build if the
kernel's main directory contains a space.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Michal Marek <mmarek@suse.com>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Makefile

index 0b3a710c8a44213ed394f3b392b01a50f1df7cfa..297c605c25bff06fb8e8ebd125c03cec4298356d 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -113,6 +113,10 @@ _all:
 # Cancel implicit rules on top Makefile
 $(CURDIR)/Makefile Makefile: ;
 
+ifneq ($(words $(subst :, ,$(CURDIR))), 1)
+  $(error main directory cannot contain spaces nor colons)
+endif
+
 ifneq ($(KBUILD_OUTPUT),)
 # Invoke a second make in the output directory, passing relevant variables
 # check that the output directory actually exists