From: Andi Kleen Date: Fri, 3 Feb 2006 20:51:38 +0000 (+0100) Subject: [PATCH] x86_64: Don't allow kprobes on __switch_to X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=099f318b8d97490e58c595eb1b6d3415da5ccc03;p=linux-beck.git [PATCH] x86_64: Don't allow kprobes on __switch_to kprobes cannot deal with the funny calling conventions when it runs on a different stack when it returns. If someone wants to instrument context switch they can add a probe to schedule() instead. Cc: jkenisto@us.ibm.com, prasanna@in.ibm.com Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds --- diff --git a/arch/x86_64/kernel/process.c b/arch/x86_64/kernel/process.c index 8ded407e4a94..22a05dec81a2 100644 --- a/arch/x86_64/kernel/process.c +++ b/arch/x86_64/kernel/process.c @@ -516,8 +516,10 @@ out: * This could still be optimized: * - fold all the options into a flag word and test it with a single test. * - could test fs/gs bitsliced + * + * Kprobes not supported here. Set the probe on schedule instead. */ -struct task_struct * +__kprobes struct task_struct * __switch_to(struct task_struct *prev_p, struct task_struct *next_p) { struct thread_struct *prev = &prev_p->thread,