]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.10-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Apr 2014 16:00:26 +0000 (09:00 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Apr 2014 16:00:26 +0000 (09:00 -0700)
added patches:
kbuild-fix-make-headers_install-when-path-is-too-long.patch

queue-3.10/kbuild-fix-make-headers_install-when-path-is-too-long.patch [new file with mode: 0644]
queue-3.10/series

diff --git a/queue-3.10/kbuild-fix-make-headers_install-when-path-is-too-long.patch b/queue-3.10/kbuild-fix-make-headers_install-when-path-is-too-long.patch
new file mode 100644 (file)
index 0000000..05cf76b
--- /dev/null
@@ -0,0 +1,122 @@
+From c0ff68f1611d6855a06d672989ad5cfea160a4eb Mon Sep 17 00:00:00 2001
+From: Nicolas Dichtel <nicolas.dichtel@6wind.com>
+Date: Mon, 29 Apr 2013 14:15:51 +0200
+Subject: kbuild: fix make headers_install when path is too long
+
+From: Nicolas Dichtel <nicolas.dichtel@6wind.com>
+
+commit c0ff68f1611d6855a06d672989ad5cfea160a4eb upstream.
+
+If headers_install is executed from a deep/long directory structure, the
+shell's maximum argument length can be execeeded, which breaks the operation
+with:
+
+| make[2]: execvp: /bin/sh: Argument list too long
+| make[2]: ***
+
+Instead of passing each files name with the entire path, I give only the file
+name without the source path and give this path as a new argument to
+headers_install.pl.
+
+Because there is three possible paths, I have tree input-files list, one per
+path.
+
+Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
+Tested-by: Bruce Ashfield <bruce.ashfield@windriver.com>
+Signed-off-by: Michal Marek <mmarek@suse.cz>
+Cc: Wang Nan <wangnan0@huawei.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ scripts/Makefile.headersinst |   20 ++++++++++++++------
+ scripts/headers_install.sh   |    7 +++++--
+ 2 files changed, 19 insertions(+), 8 deletions(-)
+
+--- a/scripts/Makefile.headersinst
++++ b/scripts/Makefile.headersinst
+@@ -47,18 +47,24 @@ header-y      := $(filter-out $(generic-
+ all-files     := $(header-y) $(genhdr-y) $(wrapper-files)
+ output-files  := $(addprefix $(installdir)/, $(all-files))
+-input-files   := $(foreach hdr, $(header-y), \
++input-files1  := $(foreach hdr, $(header-y), \
+                  $(if $(wildcard $(srcdir)/$(hdr)), \
+-                      $(wildcard $(srcdir)/$(hdr)), \
++                      $(wildcard $(srcdir)/$(hdr))) \
++                 )
++input-files1-name := $(notdir $(input-files1))
++input-files2  := $(foreach hdr, $(header-y), \
++                 $(if  $(wildcard $(srcdir)/$(hdr)),, \
+                       $(if $(wildcard $(oldsrcdir)/$(hdr)), \
+                               $(wildcard $(oldsrcdir)/$(hdr)), \
+                               $(error Missing UAPI file $(srcdir)/$(hdr))) \
+-                 )) \
+-               $(foreach hdr, $(genhdr-y), \
++                 ))
++input-files2-name := $(notdir $(input-files2))
++input-files3  := $(foreach hdr, $(genhdr-y), \
+                  $(if $(wildcard $(gendir)/$(hdr)), \
+                       $(wildcard $(gendir)/$(hdr)), \
+                       $(error Missing generated UAPI file $(gendir)/$(hdr)) \
+                  ))
++input-files3-name := $(notdir $(input-files3))
+ # Work out what needs to be removed
+ oldheaders    := $(patsubst $(installdir)/%,%,$(wildcard $(installdir)/*.h))
+@@ -72,7 +78,9 @@ printdir = $(patsubst $(INSTALL_HDR_PATH
+ quiet_cmd_install = INSTALL $(printdir) ($(words $(all-files))\
+                             file$(if $(word 2, $(all-files)),s))
+       cmd_install = \
+-        $(CONFIG_SHELL) $< $(installdir) $(input-files); \
++        $(CONFIG_SHELL) $< $(installdir) $(srcdir) $(input-files1-name); \
++        $(CONFIG_SHELL) $< $(installdir) $(oldsrcdir) $(input-files2-name); \
++        $(CONFIG_SHELL) $< $(installdir) $(gendir) $(input-files3-name); \
+         for F in $(wrapper-files); do                                   \
+                 echo "\#include <asm-generic/$$F>" > $(installdir)/$$F;    \
+         done;                                                           \
+@@ -98,7 +106,7 @@ __headersinst: $(subdirs) $(install-file
+       @:
+ targets += $(install-file)
+-$(install-file): scripts/headers_install.sh $(input-files) FORCE
++$(install-file): scripts/headers_install.sh $(input-files1) $(input-files2) $(input-files3) FORCE
+       $(if $(unwanted),$(call cmd,remove),)
+       $(if $(wildcard $(dir $@)),,$(shell mkdir -p $(dir $@)))
+       $(call if_changed,install)
+--- a/scripts/headers_install.sh
++++ b/scripts/headers_install.sh
+@@ -2,7 +2,7 @@
+ if [ $# -lt 1 ]
+ then
+-      echo "Usage: headers_install.sh OUTDIR [FILES...]
++      echo "Usage: headers_install.sh OUTDIR SRCDIR [FILES...]
+       echo
+       echo "Prepares kernel header files for use by user space, by removing"
+       echo "all compiler.h definitions and #includes, removing any"
+@@ -10,6 +10,7 @@ then
+       echo "asm/inline/volatile keywords."
+       echo
+       echo "OUTDIR: directory to write each userspace header FILE to."
++      echo "SRCDIR: source directory where files are picked."
+       echo "FILES:  list of header files to operate on."
+       exit 1
+@@ -19,6 +20,8 @@ fi
+ OUTDIR="$1"
+ shift
++SRCDIR="$1"
++shift
+ # Iterate through files listed on command line
+@@ -34,7 +37,7 @@ do
+               -e 's/(^|[^a-zA-Z0-9])__packed([^a-zA-Z0-9_]|$)/\1__attribute__((packed))\2/g' \
+               -e 's/(^|[ \t(])(inline|asm|volatile)([ \t(]|$)/\1__\2__\3/g' \
+               -e 's@#(ifndef|define|endif[ \t]*/[*])[ \t]*_UAPI@#\1 @' \
+-              "$i" > "$OUTDIR/$FILE.sed" || exit 1
++              "$SRCDIR/$i" > "$OUTDIR/$FILE.sed" || exit 1
+       scripts/unifdef -U__KERNEL__ -D__EXPORTED_HEADERS__ "$OUTDIR/$FILE.sed" \
+               > "$OUTDIR/$FILE"
+       [ $? -gt 1 ] && exit 1
index 0dc05c05abc80bbe9110da58368b08b1ae84ffd7..728ba971f859f5a89f9dc45e1aaa5dc7e31b6629 100644 (file)
@@ -2,3 +2,4 @@ selinux-correctly-label-proc-inodes-in-use-before-the-policy-is-loaded.patch
 powernow-k6-disable-cache-when-changing-frequency.patch
 powernow-k6-correctly-initialize-default-parameters.patch
 powernow-k6-reorder-frequencies.patch
+kbuild-fix-make-headers_install-when-path-is-too-long.patch