]> git.hungrycats.org Git - linux/commitdiff
[SPARC32]: Copy full soft PMD in vmalloc fault handler.
authorKeith M. Wesolowski <wesolows@foobazco.org>
Mon, 2 Feb 2004 02:18:07 +0000 (18:18 -0800)
committerKeith M. Wesolowski <wesolows@foobazco.org>
Mon, 2 Feb 2004 02:18:07 +0000 (18:18 -0800)
sparc_do_fault assumes that pmd_val(*pmd) = pmd_val(*pmd_k) will
duplicate a PMD entry.  With large soft-PMDs this doesn't work.

arch/sparc/mm/fault.c

index aa6df77cf88622c60301c5451b5c0c6e09506447..bb2a5f736f569beabdcff47df38dd9b74b10d985 100644 (file)
@@ -392,7 +392,7 @@ vmalloc_fault:
 
                if (pmd_present(*pmd) || !pmd_present(*pmd_k))
                        goto bad_area_nosemaphore;
-               pmd_val(*pmd) = pmd_val(*pmd_k);
+               *pmd = *pmd_k;
                return;
        }
 }