[PATCH 2/5] ppc64: make high hugepage areas preempt safe

Hugh Dickins hugh at veritas.com
Wed Nov 1 05:40:39 EST 2006


Checking source for other get_paca()->field preemption dangers found that
open_high_hpage_areas does a structure copy into its paca while preemption
is enabled: unsafe however gcc accomplishes it.  Just remove that copy:
it's done safely afterwards by on_each_cpu, as in open_low_hpage_areas.

Signed-off-by: Hugh Dickins <hugh at veritas.com>
---
I think this patch should go into 2.6.19 (but no reports to justify 18-stable).

 arch/powerpc/mm/hugetlbpage.c |    3 ---
 1 file changed, 3 deletions(-)

--- 2.6.19-rc4/arch/powerpc/mm/hugetlbpage.c	2006-09-20 04:42:06.000000000 +0100
+++ linux/arch/powerpc/mm/hugetlbpage.c	2006-10-30 19:27:05.000000000 +0000
@@ -480,9 +480,6 @@ static int open_high_hpage_areas(struct 
 
 	mm->context.high_htlb_areas |= newareas;
 
-	/* update the paca copy of the context struct */
-	get_paca()->context = mm->context;
-
 	/* the context change must make it to memory before the flush,
 	 * so that further SLB misses do the right thing. */
 	mb();



More information about the Linuxppc-dev mailing list