From: Greg Kroah-Hartman Date: Sun, 28 Jan 2018 12:07:28 +0000 (+0100) Subject: 3.18-stable patches X-Git-Tag: v4.4.114~18 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e6e769d590b68cf4d8d3f2634c36cef159b6b367;p=thirdparty%2Fkernel%2Fstable-queue.git 3.18-stable patches added patches: um-remove-copy-paste-code-from-init.h.patch um-stop-abusing-__kernel__.patch --- diff --git a/queue-3.18/series b/queue-3.18/series index cd5ea76eae9..d4da0ee88f3 100644 --- a/queue-3.18/series +++ b/queue-3.18/series @@ -35,3 +35,5 @@ fs-fcntl-f_setown-avoid-undefined-behaviour.patch scsi-libiscsi-fix-shifting-of-did_requeue-host-byte.patch um-link-vmlinux-with-no-pie.patch eventpoll.h-add-missing-epoll-event-masks.patch +um-stop-abusing-__kernel__.patch +um-remove-copy-paste-code-from-init.h.patch diff --git a/queue-3.18/um-remove-copy-paste-code-from-init.h.patch b/queue-3.18/um-remove-copy-paste-code-from-init.h.patch new file mode 100644 index 00000000000..684517f8b3e --- /dev/null +++ b/queue-3.18/um-remove-copy-paste-code-from-init.h.patch @@ -0,0 +1,56 @@ +From 30b11ee9ae23d78de66b9ae315880af17a64ba83 Mon Sep 17 00:00:00 2001 +From: Richard Weinberger +Date: Sun, 31 May 2015 22:15:58 +0200 +Subject: um: Remove copy&paste code from init.h + +From: Richard Weinberger + +commit 30b11ee9ae23d78de66b9ae315880af17a64ba83 upstream. + +As we got rid of the __KERNEL__ abuse, we can directly +include linux/compiler.h now. +This also allows gcc 5 to build UML. + +Reported-by: Hans-Werner Hilse +Signed-off-by: Richard Weinberger +Cc: Greg Hackmann +Cc: Bernie Innocenti +Cc: Lorenzo Colitti +Signed-off-by: Greg Kroah-Hartman + +--- + arch/um/include/shared/init.h | 22 +--------------------- + 1 file changed, 1 insertion(+), 21 deletions(-) + +--- a/arch/um/include/shared/init.h ++++ b/arch/um/include/shared/init.h +@@ -40,28 +40,8 @@ + typedef int (*initcall_t)(void); + typedef void (*exitcall_t)(void); + +-#ifdef __UM_HOST__ +-#ifndef __section +-# define __section(S) __attribute__ ((__section__(#S))) +-#endif +- +-#if __GNUC__ == 3 +- +-#if __GNUC_MINOR__ >= 3 +-# define __used __attribute__((__used__)) +-#else +-# define __used __attribute__((__unused__)) +-#endif +- +-#else +-#if __GNUC__ == 4 +-# define __used __attribute__((__used__)) +-#endif +-#endif +- +-#else + #include +-#endif ++ + /* These are for everybody (although not all archs will actually + discard it in modules) */ + #define __init __section(.init.text) diff --git a/queue-3.18/um-stop-abusing-__kernel__.patch b/queue-3.18/um-stop-abusing-__kernel__.patch new file mode 100644 index 00000000000..94abd48f644 --- /dev/null +++ b/queue-3.18/um-stop-abusing-__kernel__.patch @@ -0,0 +1,110 @@ +From 298e20ba8c197e8d429a6c8671550c41c7919033 Mon Sep 17 00:00:00 2001 +From: Richard Weinberger +Date: Sun, 31 May 2015 19:50:57 +0200 +Subject: um: Stop abusing __KERNEL__ + +From: Richard Weinberger + +commit 298e20ba8c197e8d429a6c8671550c41c7919033 upstream. + +Currently UML is abusing __KERNEL__ to distinguish between +kernel and host code (os-Linux). It is better to use a custom +define such that existing users of __KERNEL__ don't get confused. + +Signed-off-by: Richard Weinberger +Cc: Greg Hackmann +Cc: Bernie Innocenti +Cc: Lorenzo Colitti +Signed-off-by: Greg Kroah-Hartman + +--- + arch/um/Makefile | 7 ++++--- + arch/um/drivers/mconsole.h | 2 +- + arch/um/include/shared/init.h | 4 ++-- + arch/um/include/shared/user.h | 2 +- + arch/x86/um/shared/sysdep/tls.h | 6 +++--- + 5 files changed, 11 insertions(+), 10 deletions(-) + +--- a/arch/um/Makefile ++++ b/arch/um/Makefile +@@ -68,9 +68,10 @@ KBUILD_CFLAGS += $(CFLAGS) $(CFLAGS-y) - + + KBUILD_AFLAGS += $(ARCH_INCLUDE) + +-USER_CFLAGS = $(patsubst $(KERNEL_DEFINES),,$(patsubst -D__KERNEL__,,\ +- $(patsubst -I%,,$(KBUILD_CFLAGS)))) $(ARCH_INCLUDE) $(MODE_INCLUDE) \ +- $(filter -I%,$(CFLAGS)) -D_FILE_OFFSET_BITS=64 -idirafter include ++USER_CFLAGS = $(patsubst $(KERNEL_DEFINES),,$(patsubst -I%,,$(KBUILD_CFLAGS))) \ ++ $(ARCH_INCLUDE) $(MODE_INCLUDE) $(filter -I%,$(CFLAGS)) \ ++ -D_FILE_OFFSET_BITS=64 -idirafter include \ ++ -D__KERNEL__ -D__UM_HOST__ + + #This will adjust *FLAGS accordingly to the platform. + include $(srctree)/$(ARCH_DIR)/Makefile-os-$(OS) +--- a/arch/um/drivers/mconsole.h ++++ b/arch/um/drivers/mconsole.h +@@ -7,7 +7,7 @@ + #ifndef __MCONSOLE_H__ + #define __MCONSOLE_H__ + +-#ifndef __KERNEL__ ++#ifdef __UM_HOST__ + #include + #define u32 uint32_t + #endif +--- a/arch/um/include/shared/init.h ++++ b/arch/um/include/shared/init.h +@@ -40,7 +40,7 @@ + typedef int (*initcall_t)(void); + typedef void (*exitcall_t)(void); + +-#ifndef __KERNEL__ ++#ifdef __UM_HOST__ + #ifndef __section + # define __section(S) __attribute__ ((__section__(#S))) + #endif +@@ -131,7 +131,7 @@ extern struct uml_param __uml_setup_star + #define __uml_postsetup_call __used __section(.uml.postsetup.init) + #define __uml_exit_call __used __section(.uml.exitcall.exit) + +-#ifndef __KERNEL__ ++#ifdef __UM_HOST__ + + #define __define_initcall(level,fn) \ + static initcall_t __initcall_##fn __used \ +--- a/arch/um/include/shared/user.h ++++ b/arch/um/include/shared/user.h +@@ -17,7 +17,7 @@ + #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) + + /* This is to get size_t */ +-#ifdef __KERNEL__ ++#ifndef __UM_HOST__ + #include + #else + #include +--- a/arch/x86/um/shared/sysdep/tls.h ++++ b/arch/x86/um/shared/sysdep/tls.h +@@ -1,7 +1,7 @@ + #ifndef _SYSDEP_TLS_H + #define _SYSDEP_TLS_H + +-# ifndef __KERNEL__ ++#ifdef __UM_HOST__ + + /* Change name to avoid conflicts with the original one from , which + * may be named user_desc (but in 2.4 and in header matching its API was named +@@ -22,11 +22,11 @@ typedef struct um_dup_user_desc { + #endif + } user_desc_t; + +-# else /* __KERNEL__ */ ++#else /* __UM_HOST__ */ + + typedef struct user_desc user_desc_t; + +-# endif /* __KERNEL__ */ ++#endif /* __UM_HOST__ */ + + extern int os_set_thread_area(user_desc_t *info, int pid); + extern int os_get_thread_area(user_desc_t *info, int pid);