From: Greg Kroah-Hartman Date: Tue, 2 Apr 2013 00:15:08 +0000 (-0700) Subject: 3.0-stable patches X-Git-Tag: v3.8.6~31 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=26320c0a758d63e44f89b69290dda42f19bd497d;p=thirdparty%2Fkernel%2Fstable-queue.git 3.0-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.0/kernel-signal.c-use-__arch_has_sa_restorer-instead-of-sa_restorer.patch b/queue-3.0/kernel-signal.c-use-__arch_has_sa_restorer-instead-of-sa_restorer.patch new file mode 100644 index 00000000000..9e364f38c3c --- /dev/null +++ b/queue-3.0/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 +@@ -437,7 +437,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.0/series b/queue-3.0/series index 2be9e3f5325..e9559eaa536 100644 --- a/queue-3.0/series +++ b/queue-3.0/series @@ -28,3 +28,5 @@ macvtap-zerocopy-validate-vectors-before-building-skb.patch kvm-fix-buffer-overflow-in-kvm_set_irq.patch mm-hotplug-correctly-add-new-zone-to-all-other-nodes-zone-lists.patch kvm-x86-invalid-opcode-oops-on-set_sregs-with-osxsave-bit-set-cve-2012-4461.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.0/signal-define-__arch_has_sa_restorer-so-we-know-whether-to-clear-3.0-3.2-3.4.patch b/queue-3.0/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..b86c87f3bb2 --- /dev/null +++ b/queue-3.0/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 +@@ -191,6 +191,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;