From 4c7ddd6e9688583a07c6e914b21f6e134853284c Mon Sep 17 00:00:00 2001 From: Masami Hiramatsu Date: Fri, 18 Jan 2008 11:20:46 -0500 Subject: [PATCH] --- yaml --- r: 83311 b: refs/heads/master c: 97075c4b3b7fdd6a083eea075c3a4a601f0d64d8 h: refs/heads/master i: 83309: 46207c531612ed185790540192ac83cfc259d0d4 83307: cab8e0a3be6838f7055a1f3aef1b42db7df74ce4 83303: 73ef9c36eb7798e0064965f2e50dee03d888fc3c 83295: fcacba53cca2c79b6755a930e3e9fdf3c9cfb642 v: v3 --- [refs] | 2 +- trunk/arch/ia64/kernel/kprobes.c | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 089e7fb2a6cc..2958d528adf2 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a23fe55e132cd85108ab55b3fafb4b5060d847c7 +refs/heads/master: 97075c4b3b7fdd6a083eea075c3a4a601f0d64d8 diff --git a/trunk/arch/ia64/kernel/kprobes.c b/trunk/arch/ia64/kernel/kprobes.c index fc4d2676264f..b618487cdc85 100644 --- a/trunk/arch/ia64/kernel/kprobes.c +++ b/trunk/arch/ia64/kernel/kprobes.c @@ -381,9 +381,10 @@ static void __kprobes save_previous_kprobe(struct kprobe_ctlblk *kcb) static void __kprobes restore_previous_kprobe(struct kprobe_ctlblk *kcb) { unsigned int i; - i = atomic_sub_return(1, &kcb->prev_kprobe_index); - __get_cpu_var(current_kprobe) = kcb->prev_kprobe[i].kp; - kcb->kprobe_status = kcb->prev_kprobe[i].status; + i = atomic_read(&kcb->prev_kprobe_index); + __get_cpu_var(current_kprobe) = kcb->prev_kprobe[i-1].kp; + kcb->kprobe_status = kcb->prev_kprobe[i-1].status; + atomic_sub(1, &kcb->prev_kprobe_index); } static void __kprobes set_current_kprobe(struct kprobe *p,