[SPARC64]: flush_ptrace_access() needs preemption disable.

Based upon a report by Mariusz Kozlowski.

Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
David S. Miller 2008-03-26 04:51:12 -07:00
Родитель e5ac71f255
Коммит f6a843d939
1 изменённых файлов: 4 добавлений и 0 удалений

Просмотреть файл

@ -70,6 +70,8 @@ void flush_ptrace_access(struct vm_area_struct *vma, struct page *page,
if (tlb_type == hypervisor) if (tlb_type == hypervisor)
return; return;
preempt_disable();
#ifdef DCACHE_ALIASING_POSSIBLE #ifdef DCACHE_ALIASING_POSSIBLE
/* If bit 13 of the kernel address we used to access the /* If bit 13 of the kernel address we used to access the
* user page is the same as the virtual address that page * user page is the same as the virtual address that page
@ -108,6 +110,8 @@ void flush_ptrace_access(struct vm_area_struct *vma, struct page *page,
for (; start < end; start += icache_line_size) for (; start < end; start += icache_line_size)
flushi(start); flushi(start);
} }
preempt_enable();
} }
enum sparc_regset { enum sparc_regset {