signal: Fix use of missing sa_restorer field (build regression introduced by fix for CVE-2013-0914)
svn path=/dists/trunk/linux/; revision=19927
This commit is contained in:
parent
702f411066
commit
b6d1b8c9fa
|
@ -2,6 +2,8 @@ linux (3.8.4-1~experimental.1) UNRELEASED; urgency=low
|
||||||
|
|
||||||
* New upstream stable update:
|
* New upstream stable update:
|
||||||
http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.8.4
|
http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.8.4
|
||||||
|
* signal: Fix use of missing sa_restorer field (build regression
|
||||||
|
introduced by fix for CVE-2013-0914)
|
||||||
|
|
||||||
-- Ben Hutchings <ben@decadent.org.uk> Wed, 20 Mar 2013 23:32:20 +0000
|
-- Ben Hutchings <ben@decadent.org.uk> Wed, 20 Mar 2013 23:32:20 +0000
|
||||||
|
|
||||||
|
|
149
debian/patches/bugfix/all/signal-fix-use-of-missing-sa_restorer-field.patch
vendored
Normal file
149
debian/patches/bugfix/all/signal-fix-use-of-missing-sa_restorer-field.patch
vendored
Normal file
|
@ -0,0 +1,149 @@
|
||||||
|
From: Ben Hutchings <ben@decadent.org.uk>
|
||||||
|
Date: Sun, 25 Nov 2012 22:24:19 -0500
|
||||||
|
Subject: signal: Fix use of missing sa_restorer field
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
Vaguely based on upstream commit 574c4866e33d 'consolidate kernel-side
|
||||||
|
struct sigaction declarations'.
|
||||||
|
|
||||||
|
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
||||||
|
Cc: Al Viro <viro@zeniv.linux.org.uk>
|
||||||
|
---
|
||||||
|
--- a/arch/arm/include/asm/signal.h
|
||||||
|
+++ b/arch/arm/include/asm/signal.h
|
||||||
|
@@ -29,6 +29,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
|
||||||
|
@@ -29,6 +29,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
|
||||||
|
@@ -29,6 +29,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
|
||||||
|
@@ -29,6 +29,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
|
||||||
|
@@ -22,6 +22,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
|
||||||
|
@@ -29,6 +29,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
|
||||||
|
@@ -39,6 +39,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
|
||||||
|
@@ -1,6 +1,7 @@
|
||||||
|
#ifndef _ASM_POWERPC_SIGNAL_H
|
||||||
|
#define _ASM_POWERPC_SIGNAL_H
|
||||||
|
|
||||||
|
+#define __ARCH_HAS_SA_RESTORER
|
||||||
|
#include <uapi/asm/signal.h>
|
||||||
|
|
||||||
|
#endif /* _ASM_POWERPC_SIGNAL_H */
|
||||||
|
--- a/arch/s390/include/asm/signal.h
|
||||||
|
+++ b/arch/s390/include/asm/signal.h
|
||||||
|
@@ -34,6 +34,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
|
||||||
|
@@ -26,5 +26,7 @@ struct k_sigaction {
|
||||||
|
void __user *ka_restorer;
|
||||||
|
};
|
||||||
|
|
||||||
|
+#define __ARCH_HAS_SA_RESTORER
|
||||||
|
+
|
||||||
|
#endif /* !(__ASSEMBLY__) */
|
||||||
|
#endif /* !(__SPARC_SIGNAL_H) */
|
||||||
|
--- a/arch/x86/include/asm/signal.h
|
||||||
|
+++ b/arch/x86/include/asm/signal.h
|
||||||
|
@@ -31,6 +31,9 @@ typedef sigset_t compat_sigset_t;
|
||||||
|
#include <uapi/asm/signal.h>
|
||||||
|
#ifndef __ASSEMBLY__
|
||||||
|
extern void do_notify_resume(struct pt_regs *, void *, __u32);
|
||||||
|
+
|
||||||
|
+#define __ARCH_HAS_SA_RESTORER
|
||||||
|
+
|
||||||
|
#ifdef __i386__
|
||||||
|
struct old_sigaction {
|
||||||
|
__sighandler_t sa_handler;
|
||||||
|
--- a/arch/xtensa/include/asm/signal.h
|
||||||
|
+++ b/arch/xtensa/include/asm/signal.h
|
||||||
|
@@ -21,6 +21,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/uapi/asm-generic/signal.h
|
||||||
|
+++ b/include/uapi/asm-generic/signal.h
|
||||||
|
@@ -93,6 +93,10 @@ typedef unsigned long old_sigset_t;
|
||||||
|
|
||||||
|
#include <asm-generic/signal-defs.h>
|
||||||
|
|
||||||
|
+#ifdef SA_RESTORER
|
||||||
|
+#define __ARCH_HAS_SA_RESTORER
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
struct sigaction {
|
||||||
|
__sighandler_t sa_handler;
|
||||||
|
unsigned long sa_flags;
|
|
@ -77,3 +77,5 @@ bugfix/x86/drm-i915-add-quirk-to-invert-brightness-on-packard-bell-ncl20.patch
|
||||||
bugfix/all/mm-Try-harder-to-allocate-vmemmap-blocks.patch
|
bugfix/all/mm-Try-harder-to-allocate-vmemmap-blocks.patch
|
||||||
features/all/alx/alx-update-for-3.8.patch
|
features/all/alx/alx-update-for-3.8.patch
|
||||||
bugfix/mips/mips-add-dependencies-for-have_arch_transparent_hugepage.patch
|
bugfix/mips/mips-add-dependencies-for-have_arch_transparent_hugepage.patch
|
||||||
|
bugfix/all/signal-fix-use-of-missing-sa_restorer-field.patch
|
||||||
|
bugfix/all/kernel-signal.c-use-__ARCH_HAS_SA_RESTORER-instead-o.patch
|
||||||
|
|
Loading…
Reference in New Issue