From 6ee69e1ac6d31bbb115134c51ed242cef5472a91 Mon Sep 17 00:00:00 2001 From: Chris Wright Date: Wed, 1 Mar 2006 23:34:57 -0800 Subject: [PATCH] IA64 fix for (CVE-2006-0742) --- queue/die_if_kernel-can-return.patch | 29 ++++++++++++++++++++++++++++ queue/series | 1 + 2 files changed, 30 insertions(+) create mode 100644 queue/die_if_kernel-can-return.patch diff --git a/queue/die_if_kernel-can-return.patch b/queue/die_if_kernel-can-return.patch new file mode 100644 index 00000000000..6c9476d8c08 --- /dev/null +++ b/queue/die_if_kernel-can-return.patch @@ -0,0 +1,29 @@ +From nobody Mon Sep 17 00:00:00 2001 +From: Tony Luck +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 +Signed-off-by: Chris Wright +--- + + 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 + #include + +-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 + diff --git a/queue/series b/queue/series index 1e8c7e3143c..f1bab291181 100644 --- a/queue/series +++ b/queue/series @@ -1 +1,2 @@ don-t-reset-rskq_defer_accept-in-reqsk_queue_alloc.patch +die_if_kernel-can-return.patch -- 2.47.3