[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 <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Andi Kleen 2006-02-03 21:51:38 +01:00 committed by Linus Torvalds
parent 16acc0cd8f
commit 099f318b8d

View file

@ -516,8 +516,10 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long rsp,
* This could still be optimized: * This could still be optimized:
* - fold all the options into a flag word and test it with a single test. * - fold all the options into a flag word and test it with a single test.
* - could test fs/gs bitsliced * - 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) __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
{ {
struct thread_struct *prev = &prev_p->thread, struct thread_struct *prev = &prev_p->thread,