commit 3923d91d2ade70e9fcfe22aa965710ff8a2ae535
Author: David S. Miller <[EMAIL PROTECTED]>
Date:   Mon Apr 7 00:26:11 2008 -0700

    SPARC64: flush_ptrace_access() needs preemption disable.
    
    Upstream commit: f6a843d939ade435e060d580f5c56d958464f8a5
    
    Based upon a report by Mariusz Kozlowski.
    
    Signed-off-by: David S. Miller <[EMAIL PROTECTED]>
    Signed-off-by: Chris Wright <[EMAIL PROTECTED]>

diff --git a/arch/sparc64/kernel/ptrace.c b/arch/sparc64/kernel/ptrace.c
index 81111a1..d4af131 100644
--- a/arch/sparc64/kernel/ptrace.c
+++ b/arch/sparc64/kernel/ptrace.c
@@ -127,6 +127,8 @@ void flush_ptrace_access(struct vm_area_struct *vma, struct 
page *page,
        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_struct *vma, struct 
page *page,
                for (; start < end; start += icache_line_size)
                        flushi(start);
        }
+
+       preempt_enable();
 }
 
 asmlinkage void do_ptrace(struct pt_regs *regs)
_______________________________________________
unionfs-cvs mailing list: http://unionfs.filesystems.org/
[email protected]
http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs

Reply via email to