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/