SPARC64: flush_ptrace_access() needs preemption disable.
From: Chris Wright
Date: Wed Apr 16 2008 - 21:21:34 EST
-stable review patch. If anyone has any objections, please let us know.
---------------------
From: David S. Miller <davem@xxxxxxxxxxxxx>
Upstream commit: f6a843d939ade435e060d580f5c56d958464f8a5
Based upon a report by Mariusz Kozlowski.
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
Signed-off-by: Chris Wright <chrisw@xxxxxxxxxxxx>
---
arch/sparc64/kernel/ptrace.c | 4 ++++
1 file changed, 4 insertions(+)
--- a/arch/sparc64/kernel/ptrace.c
+++ b/arch/sparc64/kernel/ptrace.c
@@ -127,6 +127,8 @@ void flush_ptrace_access(struct vm_area_
if (tlb_type == hypervisor)
return;
+ preempt_disable();
+
#ifdef DCACHE_ALIASING_POSSIBLE
/* If bit 13 of the kernel address we used to access the
* user page is the same as the virtual address that page
@@ -165,6 +167,8 @@ void flush_ptrace_access(struct vm_area_
for (; start < end; start += icache_line_size)
flushi(start);
}
+
+ preempt_enable();
}
asmlinkage void do_ptrace(struct pt_regs *regs)
--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/