From: Greg Kroah-Hartman Date: Tue, 2 Apr 2013 00:15:02 +0000 (-0700) Subject: 3.4-stable patches X-Git-Tag: v3.8.6~32 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f31374c53596a4bc872b4b4865287ec06d8b9e86;p=thirdparty%2Fkernel%2Fstable-queue.git 3.4-stable patches added patches: kernel-signal.c-use-__arch_has_sa_restorer-instead-of-sa_restorer.patch signal-define-__arch_has_sa_restorer-so-we-know-whether-to-clear-3.0-3.2-3.4.patch --- diff --git a/queue-3.4/kernel-signal.c-use-__arch_has_sa_restorer-instead-of-sa_restorer.patch b/queue-3.4/kernel-signal.c-use-__arch_has_sa_restorer-instead-of-sa_restorer.patch new file mode 100644 index 00000000000..7ab3ad9256b --- /dev/null +++ b/queue-3.4/kernel-signal.c-use-__arch_has_sa_restorer-instead-of-sa_restorer.patch @@ -0,0 +1,40 @@ +From 522cff142d7d2f9230839c9e1f21a4d8bcc22a4a Mon Sep 17 00:00:00 2001 +From: Andrew Morton +Date: Wed, 13 Mar 2013 14:59:34 -0700 +Subject: kernel/signal.c: use __ARCH_HAS_SA_RESTORER instead of SA_RESTORER + +From: Andrew Morton + +commit 522cff142d7d2f9230839c9e1f21a4d8bcc22a4a upstream. + +__ARCH_HAS_SA_RESTORER is the preferred conditional for use in 3.9 and +later kernels, per Kees. + +Signed-off-by: Andrew Morton +Cc: Emese Revfy +Cc: Emese Revfy +Cc: PaX Team +Cc: Al Viro +Cc: Oleg Nesterov +Cc: "Eric W. Biederman" +Cc: Serge Hallyn +Cc: Julien Tinnes +Signed-off-by: Linus Torvalds +Cc: Ben Hutchings +Signed-off-by: Greg Kroah-Hartman + +--- + kernel/signal.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/kernel/signal.c ++++ b/kernel/signal.c +@@ -482,7 +482,7 @@ flush_signal_handlers(struct task_struct + if (force_default || ka->sa.sa_handler != SIG_IGN) + ka->sa.sa_handler = SIG_DFL; + ka->sa.sa_flags = 0; +-#ifdef SA_RESTORER ++#ifdef __ARCH_HAS_SA_RESTORER + ka->sa.sa_restorer = NULL; + #endif + sigemptyset(&ka->sa.sa_mask); diff --git a/queue-3.4/series b/queue-3.4/series index 5f973eaba45..260f16debf9 100644 --- a/queue-3.4/series +++ b/queue-3.4/series @@ -29,3 +29,5 @@ btrfs-fix-race-between-mmap-writes-and-compression.patch btrfs-limit-the-global-reserve-to-512mb.patch btrfs-don-t-drop-path-when-printing-out-tree-errors-in-scrub.patch usb-gadget-udc-core-fix-a-regression-during-gadget-driver-unbinding.patch +signal-define-__arch_has_sa_restorer-so-we-know-whether-to-clear-3.0-3.2-3.4.patch +kernel-signal.c-use-__arch_has_sa_restorer-instead-of-sa_restorer.patch diff --git a/queue-3.4/signal-define-__arch_has_sa_restorer-so-we-know-whether-to-clear-3.0-3.2-3.4.patch b/queue-3.4/signal-define-__arch_has_sa_restorer-so-we-know-whether-to-clear-3.0-3.2-3.4.patch new file mode 100644 index 00000000000..7b23a91ab5c --- /dev/null +++ b/queue-3.4/signal-define-__arch_has_sa_restorer-so-we-know-whether-to-clear-3.0-3.2-3.4.patch @@ -0,0 +1,167 @@ +From: Ben Hutchings +Date: Sun, 25 Nov 2012 22:24:19 -0500 +Subject: signal: Define __ARCH_HAS_SA_RESTORER so we know whether to clear sa_restorer + +From: Ben Hutchings + +Vaguely based on upstream commit 574c4866e33d 'consolidate kernel-side +struct sigaction declarations'. + +flush_signal_handlers() needs to know whether sigaction::sa_restorer +is defined, not whether SA_RESTORER is defined. Define the +__ARCH_HAS_SA_RESTORER macro to indicate this. + +Signed-off-by: Ben Hutchings +Cc: Al Viro +Signed-off-by: Greg Kroah-Hartman + +--- + arch/arm/include/asm/signal.h | 1 + + arch/avr32/include/asm/signal.h | 1 + + arch/cris/include/asm/signal.h | 1 + + arch/h8300/include/asm/signal.h | 1 + + arch/m32r/include/asm/signal.h | 1 + + arch/m68k/include/asm/signal.h | 1 + + arch/mn10300/include/asm/signal.h | 1 + + arch/powerpc/include/asm/signal.h | 1 + + arch/s390/include/asm/signal.h | 1 + + arch/sparc/include/asm/signal.h | 1 + + arch/x86/include/asm/signal.h | 2 ++ + arch/xtensa/include/asm/signal.h | 1 + + include/asm-generic/signal.h | 4 ++++ + 13 files changed, 17 insertions(+) + +--- a/arch/arm/include/asm/signal.h ++++ b/arch/arm/include/asm/signal.h +@@ -127,6 +127,7 @@ struct sigaction { + __sigrestore_t sa_restorer; + sigset_t sa_mask; /* mask last for extensibility */ + }; ++#define __ARCH_HAS_SA_RESTORER + + struct k_sigaction { + struct sigaction sa; +--- a/arch/avr32/include/asm/signal.h ++++ b/arch/avr32/include/asm/signal.h +@@ -128,6 +128,7 @@ struct sigaction { + __sigrestore_t sa_restorer; + sigset_t sa_mask; /* mask last for extensibility */ + }; ++#define __ARCH_HAS_SA_RESTORER + + struct k_sigaction { + struct sigaction sa; +--- a/arch/cris/include/asm/signal.h ++++ b/arch/cris/include/asm/signal.h +@@ -122,6 +122,7 @@ struct sigaction { + void (*sa_restorer)(void); + sigset_t sa_mask; /* mask last for extensibility */ + }; ++#define __ARCH_HAS_SA_RESTORER + + struct k_sigaction { + struct sigaction sa; +--- a/arch/h8300/include/asm/signal.h ++++ b/arch/h8300/include/asm/signal.h +@@ -121,6 +121,7 @@ struct sigaction { + void (*sa_restorer)(void); + sigset_t sa_mask; /* mask last for extensibility */ + }; ++#define __ARCH_HAS_SA_RESTORER + + struct k_sigaction { + struct sigaction sa; +--- a/arch/m32r/include/asm/signal.h ++++ b/arch/m32r/include/asm/signal.h +@@ -123,6 +123,7 @@ struct sigaction { + __sigrestore_t sa_restorer; + sigset_t sa_mask; /* mask last for extensibility */ + }; ++#define __ARCH_HAS_SA_RESTORER + + struct k_sigaction { + struct sigaction sa; +--- a/arch/m68k/include/asm/signal.h ++++ b/arch/m68k/include/asm/signal.h +@@ -119,6 +119,7 @@ struct sigaction { + __sigrestore_t sa_restorer; + sigset_t sa_mask; /* mask last for extensibility */ + }; ++#define __ARCH_HAS_SA_RESTORER + + struct k_sigaction { + struct sigaction sa; +--- a/arch/mn10300/include/asm/signal.h ++++ b/arch/mn10300/include/asm/signal.h +@@ -131,6 +131,7 @@ struct sigaction { + __sigrestore_t sa_restorer; + sigset_t sa_mask; /* mask last for extensibility */ + }; ++#define __ARCH_HAS_SA_RESTORER + + struct k_sigaction { + struct sigaction sa; +--- a/arch/powerpc/include/asm/signal.h ++++ b/arch/powerpc/include/asm/signal.h +@@ -109,6 +109,7 @@ struct sigaction { + __sigrestore_t sa_restorer; + sigset_t sa_mask; /* mask last for extensibility */ + }; ++#define __ARCH_HAS_SA_RESTORER + + struct k_sigaction { + struct sigaction sa; +--- a/arch/s390/include/asm/signal.h ++++ b/arch/s390/include/asm/signal.h +@@ -131,6 +131,7 @@ struct sigaction { + void (*sa_restorer)(void); + sigset_t sa_mask; /* mask last for extensibility */ + }; ++#define __ARCH_HAS_SA_RESTORER + + struct k_sigaction { + struct sigaction sa; +--- a/arch/sparc/include/asm/signal.h ++++ b/arch/sparc/include/asm/signal.h +@@ -192,6 +192,7 @@ struct __old_sigaction { + unsigned long sa_flags; + void (*sa_restorer)(void); /* not used by Linux/SPARC yet */ + }; ++#define __ARCH_HAS_SA_RESTORER + + typedef struct sigaltstack { + void __user *ss_sp; +--- a/arch/x86/include/asm/signal.h ++++ b/arch/x86/include/asm/signal.h +@@ -125,6 +125,8 @@ typedef unsigned long sigset_t; + extern void do_notify_resume(struct pt_regs *, void *, __u32); + # endif /* __KERNEL__ */ + ++#define __ARCH_HAS_SA_RESTORER ++ + #ifdef __i386__ + # ifdef __KERNEL__ + struct old_sigaction { +--- a/arch/xtensa/include/asm/signal.h ++++ b/arch/xtensa/include/asm/signal.h +@@ -133,6 +133,7 @@ struct sigaction { + void (*sa_restorer)(void); + sigset_t sa_mask; /* mask last for extensibility */ + }; ++#define __ARCH_HAS_SA_RESTORER + + struct k_sigaction { + struct sigaction sa; +--- a/include/asm-generic/signal.h ++++ b/include/asm-generic/signal.h +@@ -99,6 +99,10 @@ typedef unsigned long old_sigset_t; + + #include + ++#ifdef SA_RESTORER ++#define __ARCH_HAS_SA_RESTORER ++#endif ++ + struct sigaction { + __sighandler_t sa_handler; + unsigned long sa_flags;