]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.9-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 3 Feb 2020 10:37:56 +0000 (10:37 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 3 Feb 2020 10:37:56 +0000 (10:37 +0000)
added patches:
arm64-kbuild-remove-compressed-images-on-make-arch-arm64-dist-clean.patch
tools-lib-fix-builds-when-glibc-contains-strlcpy.patch

queue-4.9/arm64-kbuild-remove-compressed-images-on-make-arch-arm64-dist-clean.patch [new file with mode: 0644]
queue-4.9/series
queue-4.9/tools-lib-fix-builds-when-glibc-contains-strlcpy.patch [new file with mode: 0644]

diff --git a/queue-4.9/arm64-kbuild-remove-compressed-images-on-make-arch-arm64-dist-clean.patch b/queue-4.9/arm64-kbuild-remove-compressed-images-on-make-arch-arm64-dist-clean.patch
new file mode 100644 (file)
index 0000000..a6febc0
--- /dev/null
@@ -0,0 +1,40 @@
+From d7bbd6c1b01cb5dd13c245d4586a83145c1d5f52 Mon Sep 17 00:00:00 2001
+From: Dirk Behme <dirk.behme@de.bosch.com>
+Date: Tue, 21 Jan 2020 16:54:39 +0100
+Subject: arm64: kbuild: remove compressed images on 'make ARCH=arm64 (dist)clean'
+
+From: Dirk Behme <dirk.behme@de.bosch.com>
+
+commit d7bbd6c1b01cb5dd13c245d4586a83145c1d5f52 upstream.
+
+Since v4.3-rc1 commit 0723c05fb75e44 ("arm64: enable more compressed
+Image formats"), it is possible to build Image.{bz2,lz4,lzma,lzo}
+AArch64 images. However, the commit missed adding support for removing
+those images on 'make ARCH=arm64 (dist)clean'.
+
+Fix this by adding them to the target list.
+Make sure to match the order of the recipes in the makefile.
+
+Cc: stable@vger.kernel.org # v4.3+
+Fixes: 0723c05fb75e44 ("arm64: enable more compressed Image formats")
+Signed-off-by: Dirk Behme <dirk.behme@de.bosch.com>
+Signed-off-by: Eugeniu Rosca <erosca@de.adit-jv.com>
+Reviewed-by: Masahiro Yamada <yamada.masahiro@socionext.com>
+Signed-off-by: Will Deacon <will@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm64/boot/Makefile |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/arch/arm64/boot/Makefile
++++ b/arch/arm64/boot/Makefile
+@@ -16,7 +16,7 @@
+ OBJCOPYFLAGS_Image :=-O binary -R .note -R .note.gnu.build-id -R .comment -S
+-targets := Image Image.gz
++targets := Image Image.bz2 Image.gz Image.lz4 Image.lzma Image.lzo
+ $(obj)/Image: vmlinux FORCE
+       $(call if_changed,objcopy)
index 8bf6c5c819412875d0b472545dc2a9357410c159..787659577a7753c7aa4005473f41785b70a849de 100644 (file)
@@ -27,3 +27,5 @@ vfs-fix-do_last-regression.patch
 crypto-pcrypt-fix-user-after-free-on-module-unload.patch
 iio-gyro-st_gyro-inline-per-sensor-data.patch
 iio-gyro-st_gyro-fix-l3gd20h-support.patch
+tools-lib-fix-builds-when-glibc-contains-strlcpy.patch
+arm64-kbuild-remove-compressed-images-on-make-arch-arm64-dist-clean.patch
diff --git a/queue-4.9/tools-lib-fix-builds-when-glibc-contains-strlcpy.patch b/queue-4.9/tools-lib-fix-builds-when-glibc-contains-strlcpy.patch
new file mode 100644 (file)
index 0000000..de9b9fa
--- /dev/null
@@ -0,0 +1,100 @@
+From 6c4798d3f08b81c2c52936b10e0fa872590c96ae Mon Sep 17 00:00:00 2001
+From: Vitaly Chikunov <vt@altlinux.org>
+Date: Tue, 24 Dec 2019 20:20:29 +0300
+Subject: tools lib: Fix builds when glibc contains strlcpy()
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Vitaly Chikunov <vt@altlinux.org>
+
+commit 6c4798d3f08b81c2c52936b10e0fa872590c96ae upstream.
+
+Disable a couple of compilation warnings (which are treated as errors)
+on strlcpy() definition and declaration, allowing users to compile perf
+and kernel (objtool) when:
+
+1. glibc have strlcpy() (such as in ALT Linux since 2004) objtool and
+   perf build fails with this (in gcc):
+
+  In file included from exec-cmd.c:3:
+  tools/include/linux/string.h:20:15: error: redundant redeclaration of ‘strlcpy’ [-Werror=redundant-decls]
+     20 | extern size_t strlcpy(char *dest, const char *src, size_t size);
+
+2. clang ignores `-Wredundant-decls', but produces another warning when
+   building perf:
+
+    CC       util/string.o
+  ../lib/string.c:99:8: error: attribute declaration must precede definition [-Werror,-Wignored-attributes]
+  size_t __weak strlcpy(char *dest, const char *src, size_t size)
+  ../../tools/include/linux/compiler.h:66:34: note: expanded from macro '__weak'
+  # define __weak                 __attribute__((weak))
+  /usr/include/bits/string_fortified.h:151:8: note: previous definition is here
+  __NTH (strlcpy (char *__restrict __dest, const char *__restrict __src,
+
+Committer notes:
+
+The
+
+ #pragma GCC diagnostic
+
+directive was introduced in gcc 4.6, so check for that as well.
+
+Fixes: ce99091 ("perf tools: Move strlcpy() from perf to tools/lib/string.c")
+Fixes: 0215d59 ("tools lib: Reinstate strlcpy() header guard with __UCLIBC__")
+Resolves: https://bugzilla.kernel.org/show_bug.cgi?id=118481
+Signed-off-by: Vitaly Chikunov <vt@altlinux.org>
+Reviewed-by: Dmitry Levin <ldv@altlinux.org>
+Cc: Dmitry Levin <ldv@altlinux.org>
+Cc: Josh Poimboeuf <jpoimboe@redhat.com>
+Cc: kbuild test robot <lkp@intel.com>
+Cc: Peter Zijlstra <peterz@infradead.org>
+Cc: stable@vger.kernel.org
+Cc: Vineet Gupta <vineet.gupta1@synopsys.com>
+Link: http://lore.kernel.org/lkml/20191224172029.19690-1-vt@altlinux.org
+Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ tools/include/linux/string.h |    8 ++++++++
+ tools/lib/string.c           |    7 +++++++
+ 2 files changed, 15 insertions(+)
+
+--- a/tools/include/linux/string.h
++++ b/tools/include/linux/string.h
+@@ -13,7 +13,15 @@ int strtobool(const char *s, bool *res);
+  * However uClibc headers also define __GLIBC__ hence the hack below
+  */
+ #if defined(__GLIBC__) && !defined(__UCLIBC__)
++// pragma diagnostic was introduced in gcc 4.6
++#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wredundant-decls"
++#endif
+ extern size_t strlcpy(char *dest, const char *src, size_t size);
++#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
++#pragma GCC diagnostic pop
++#endif
+ #endif
+ char *str_error_r(int errnum, char *buf, size_t buflen);
+--- a/tools/lib/string.c
++++ b/tools/lib/string.c
+@@ -76,6 +76,10 @@ int strtobool(const char *s, bool *res)
+  * If libc has strlcpy() then that version will override this
+  * implementation:
+  */
++#ifdef __clang__
++#pragma clang diagnostic push
++#pragma clang diagnostic ignored "-Wignored-attributes"
++#endif
+ size_t __weak strlcpy(char *dest, const char *src, size_t size)
+ {
+       size_t ret = strlen(src);
+@@ -87,3 +91,6 @@ size_t __weak strlcpy(char *dest, const
+       }
+       return ret;
+ }
++#ifdef __clang__
++#pragma clang diagnostic pop
++#endif