From: Greg Kroah-Hartman Date: Tue, 27 Jan 2015 22:41:14 +0000 (-0800) Subject: 3.14-stable patches X-Git-Tag: v3.10.67~27 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=77aa18d1d2ac61e073d362b9e67361726443216e;p=thirdparty%2Fkernel%2Fstable-queue.git 3.14-stable patches added patches: x86-asm-traps-disable-tracing-and-kprobes-in-fixup_bad_iret-and-sync_regs.patch --- diff --git a/queue-3.14/series b/queue-3.14/series index b7c049b2caf..5187fc3aa62 100644 --- a/queue-3.14/series +++ b/queue-3.14/series @@ -27,3 +27,4 @@ kvm-x86-fix-of-previously-incomplete-fix-for-cve-2014-8480.patch x86-tls-ldt-stop-checking-lm-in-ldt_empty.patch x86-tls-interpret-an-all-zero-struct-user_desc-as-no-segment.patch x86-apic-re-enable-pci_msi-support-for-non-smp-x86_32.patch +x86-asm-traps-disable-tracing-and-kprobes-in-fixup_bad_iret-and-sync_regs.patch diff --git a/queue-3.14/x86-asm-traps-disable-tracing-and-kprobes-in-fixup_bad_iret-and-sync_regs.patch b/queue-3.14/x86-asm-traps-disable-tracing-and-kprobes-in-fixup_bad_iret-and-sync_regs.patch new file mode 100644 index 00000000000..ccd629c40d7 --- /dev/null +++ b/queue-3.14/x86-asm-traps-disable-tracing-and-kprobes-in-fixup_bad_iret-and-sync_regs.patch @@ -0,0 +1,48 @@ +From 7ddc6a2199f1da405a2fb68c40db8899b1a8cd87 Mon Sep 17 00:00:00 2001 +From: Andy Lutomirski +Date: Mon, 24 Nov 2014 17:39:06 -0800 +Subject: x86/asm/traps: Disable tracing and kprobes in fixup_bad_iret and sync_regs + +From: Andy Lutomirski + +commit 7ddc6a2199f1da405a2fb68c40db8899b1a8cd87 upstream. + +These functions can be executed on the int3 stack, so kprobes +are dangerous. Tracing is probably a bad idea, too. + +Fixes: b645af2d5905 ("x86_64, traps: Rework bad_iret") +Signed-off-by: Andy Lutomirski +Cc: Linus Torvalds +Cc: Steven Rostedt +Link: http://lkml.kernel.org/r/50e33d26adca60816f3ba968875801652507d0c4.1416870125.git.luto@amacapital.net +Signed-off-by: Ingo Molnar +[bwh: Backported to 3.10: + - Use __kprobes instead of NOKPROBE_SYMBOL() + - Adjust context] +Signed-off-by: Ben Hutchings +Signed-off-by: Greg Kroah-Hartman + +--- + arch/x86/kernel/traps.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/arch/x86/kernel/traps.c ++++ b/arch/x86/kernel/traps.c +@@ -365,7 +365,7 @@ exit: + * for scheduling or signal handling. The actual stack switch is done in + * entry.S + */ +-asmlinkage __kprobes struct pt_regs *sync_regs(struct pt_regs *eregs) ++asmlinkage notrace __kprobes struct pt_regs *sync_regs(struct pt_regs *eregs) + { + struct pt_regs *regs = eregs; + /* Did already sync */ +@@ -390,7 +390,7 @@ struct bad_iret_stack { + struct pt_regs regs; + }; + +-asmlinkage __visible ++asmlinkage __visible notrace __kprobes + struct bad_iret_stack *fixup_bad_iret(struct bad_iret_stack *s) + { + /*