From: Greg Kroah-Hartman Date: Wed, 5 Dec 2018 20:50:23 +0000 (+0100) Subject: 4.4-stable patches X-Git-Tag: v4.19.8~45 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2ef267ff0af3d2419527fa722e18e783a8db312d;p=thirdparty%2Fkernel%2Fstable-queue.git 4.4-stable patches added patches: exec-avoid-gcc-8-warning-for-get_task_comm.patch kbuild-suppress-packed-not-aligned-warning-for-default-setting-only.patch --- diff --git a/queue-4.4/exec-avoid-gcc-8-warning-for-get_task_comm.patch b/queue-4.4/exec-avoid-gcc-8-warning-for-get_task_comm.patch new file mode 100644 index 00000000000..c0dd021b7ce --- /dev/null +++ b/queue-4.4/exec-avoid-gcc-8-warning-for-get_task_comm.patch @@ -0,0 +1,85 @@ +From 3756f6401c302617c5e091081ca4d26ab604bec5 Mon Sep 17 00:00:00 2001 +From: Arnd Bergmann +Date: Thu, 14 Dec 2017 15:32:41 -0800 +Subject: exec: avoid gcc-8 warning for get_task_comm + +From: Arnd Bergmann + +commit 3756f6401c302617c5e091081ca4d26ab604bec5 upstream. + +gcc-8 warns about using strncpy() with the source size as the limit: + + fs/exec.c:1223:32: error: argument to 'sizeof' in 'strncpy' call is the same expression as the source; did you mean to use the size of the destination? [-Werror=sizeof-pointer-memaccess] + +This is indeed slightly suspicious, as it protects us from source +arguments without NUL-termination, but does not guarantee that the +destination is terminated. + +This keeps the strncpy() to ensure we have properly padded target +buffer, but ensures that we use the correct length, by passing the +actual length of the destination buffer as well as adding a build-time +check to ensure it is exactly TASK_COMM_LEN. + +There are only 23 callsites which I all reviewed to ensure this is +currently the case. We could get away with doing only the check or +passing the right length, but it doesn't hurt to do both. + +Link: http://lkml.kernel.org/r/20171205151724.1764896-1-arnd@arndb.de +Signed-off-by: Arnd Bergmann +Suggested-by: Kees Cook +Acked-by: Kees Cook +Acked-by: Ingo Molnar +Cc: Alexander Viro +Cc: Peter Zijlstra +Cc: Serge Hallyn +Cc: James Morris +Cc: Aleksa Sarai +Cc: "Eric W. Biederman" +Cc: Frederic Weisbecker +Cc: Thomas Gleixner +Signed-off-by: Andrew Morton +Signed-off-by: Linus Torvalds +Signed-off-by: Greg Kroah-Hartman + +--- + fs/exec.c | 7 +++---- + include/linux/sched.h | 7 ++++++- + 2 files changed, 9 insertions(+), 5 deletions(-) + +--- a/fs/exec.c ++++ b/fs/exec.c +@@ -1077,15 +1077,14 @@ killed: + return -EAGAIN; + } + +-char *get_task_comm(char *buf, struct task_struct *tsk) ++char *__get_task_comm(char *buf, size_t buf_size, struct task_struct *tsk) + { +- /* buf must be at least sizeof(tsk->comm) in size */ + task_lock(tsk); +- strncpy(buf, tsk->comm, sizeof(tsk->comm)); ++ strncpy(buf, tsk->comm, buf_size); + task_unlock(tsk); + return buf; + } +-EXPORT_SYMBOL_GPL(get_task_comm); ++EXPORT_SYMBOL_GPL(__get_task_comm); + + /* + * These functions flushes out all traces of the currently running executable +--- a/include/linux/sched.h ++++ b/include/linux/sched.h +@@ -2668,7 +2668,12 @@ static inline void set_task_comm(struct + { + __set_task_comm(tsk, from, false); + } +-extern char *get_task_comm(char *to, struct task_struct *tsk); ++ ++extern char *__get_task_comm(char *to, size_t len, struct task_struct *tsk); ++#define get_task_comm(buf, tsk) ({ \ ++ BUILD_BUG_ON(sizeof(buf) != TASK_COMM_LEN); \ ++ __get_task_comm(buf, sizeof(buf), tsk); \ ++}) + + #ifdef CONFIG_SMP + void scheduler_ipi(void); diff --git a/queue-4.4/kbuild-suppress-packed-not-aligned-warning-for-default-setting-only.patch b/queue-4.4/kbuild-suppress-packed-not-aligned-warning-for-default-setting-only.patch new file mode 100644 index 00000000000..4de8345a8d8 --- /dev/null +++ b/queue-4.4/kbuild-suppress-packed-not-aligned-warning-for-default-setting-only.patch @@ -0,0 +1,53 @@ +From 321cb0308a9e76841394b4bbab6a1107cfedbae0 Mon Sep 17 00:00:00 2001 +From: Xiongfeng Wang +Date: Thu, 11 Jan 2018 17:22:29 +0800 +Subject: Kbuild: suppress packed-not-aligned warning for default setting only + +From: Xiongfeng Wang + +commit 321cb0308a9e76841394b4bbab6a1107cfedbae0 upstream. + +gcc-8 reports many -Wpacked-not-aligned warnings. The below are some +examples. + +./include/linux/ceph/msgr.h:67:1: warning: alignment 1 of 'struct +ceph_entity_addr' is less than 8 [-Wpacked-not-aligned] + } __attribute__ ((packed)); + +./include/linux/ceph/msgr.h:67:1: warning: alignment 1 of 'struct +ceph_entity_addr' is less than 8 [-Wpacked-not-aligned] + } __attribute__ ((packed)); + +./include/linux/ceph/msgr.h:67:1: warning: alignment 1 of 'struct +ceph_entity_addr' is less than 8 [-Wpacked-not-aligned] + } __attribute__ ((packed)); + +This patch suppresses this kind of warnings for default setting. + +Signed-off-by: Xiongfeng Wang +Signed-off-by: Masahiro Yamada +Signed-off-by: Greg Kroah-Hartman + +--- + scripts/Makefile.extrawarn | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/scripts/Makefile.extrawarn ++++ b/scripts/Makefile.extrawarn +@@ -10,6 +10,8 @@ + # are not supported by all versions of the compiler + # ========================================================================== + ++KBUILD_CFLAGS += $(call cc-disable-warning, packed-not-aligned) ++ + ifeq ("$(origin W)", "command line") + export KBUILD_ENABLE_EXTRA_GCC_CHECKS := $(W) + endif +@@ -25,6 +27,7 @@ warning-1 += -Wold-style-definition + warning-1 += $(call cc-option, -Wmissing-include-dirs) + warning-1 += $(call cc-option, -Wunused-but-set-variable) + warning-1 += $(call cc-option, -Wunused-const-variable) ++warning-1 += $(call cc-option, -Wpacked-not-aligned) + warning-1 += $(call cc-disable-warning, missing-field-initializers) + + warning-2 := -Waggregate-return diff --git a/queue-4.4/series b/queue-4.4/series index b00dfaf7104..ab6eb512166 100644 --- a/queue-4.4/series +++ b/queue-4.4/series @@ -18,3 +18,5 @@ btrfs-release-metadata-before-running-delayed-refs.patch usb-usb-storage-add-new-ids-to-ums-realtek.patch usb-core-quirks-add-reset_resume-quirk-for-cherry-g230-stream-series.patch misc-mic-scif-fix-copy-paste-error-in-scif_create_remote_lookup.patch +kbuild-suppress-packed-not-aligned-warning-for-default-setting-only.patch +exec-avoid-gcc-8-warning-for-get_task_comm.patch