]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
IA64 fix for (CVE-2006-0742)
authorChris Wright <chrisw@sous-sol.org>
Thu, 2 Mar 2006 07:34:57 +0000 (23:34 -0800)
committerChris Wright <chrisw@sous-sol.org>
Thu, 2 Mar 2006 07:34:57 +0000 (23:34 -0800)
queue/die_if_kernel-can-return.patch [new file with mode: 0644]
queue/series

diff --git a/queue/die_if_kernel-can-return.patch b/queue/die_if_kernel-can-return.patch
new file mode 100644 (file)
index 0000000..6c9476d
--- /dev/null
@@ -0,0 +1,29 @@
+From nobody Mon Sep 17 00:00:00 2001
+From: Tony Luck <tony.luck@intel.com>
+Date: Mon Feb 27 16:18:58 2006 -0800
+Subject: [PATCH] [IA64] die_if_kernel() can return (CVE-2006-0742)
+
+arch/ia64/kernel/unaligned.c erroneously marked die_if_kernel()
+with a "noreturn" attribute ... which is silly (it returns whenever
+the argument regs say that the fault happened in user mode, as one
+might expect given the "if_kernel" part of its name!).  Thanks to
+Alan and Gareth for pointing this out.
+
+Signed-off-by: Tony Luck <tony.luck@intel.com>
+Signed-off-by: Chris Wright <chrisw@sous-sol.org>
+---
+
+ arch/ia64/kernel/unaligned.c |    2 +-
+ 1 files changed, 1 insertion(+), 1 deletion(-)
+
+--- linux-2.6.15.5.orig/arch/ia64/kernel/unaligned.c
++++ linux-2.6.15.5/arch/ia64/kernel/unaligned.c
+@@ -24,7 +24,7 @@
+ #include <asm/uaccess.h>
+ #include <asm/unaligned.h>
+-extern void die_if_kernel(char *str, struct pt_regs *regs, long err) __attribute__ ((noreturn));
++extern void die_if_kernel(char *str, struct pt_regs *regs, long err);
+ #undef DEBUG_UNALIGNED_TRAP
index 1e8c7e3143c0855ee119b7a4fae3abfe4fb19f9e..f1bab291181c01d743b16bb0827dcae04a1a888b 100644 (file)
@@ -1 +1,2 @@
 don-t-reset-rskq_defer_accept-in-reqsk_queue_alloc.patch
+die_if_kernel-can-return.patch