summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorHugh Dickins2005-10-30 02:16:27 +0100
committerLinus Torvalds2005-10-30 05:40:40 +0100
commit705e87c0c3c38424f7f30556c85bc20e808d2f59 (patch)
tree7a237e6266f4801385e1226cc497b47e3a2458bd /arch
parent[PATCH] mm: page fault handler locking (diff)
downloadkernel-qcow2-linux-705e87c0c3c38424f7f30556c85bc20e808d2f59.tar.gz
kernel-qcow2-linux-705e87c0c3c38424f7f30556c85bc20e808d2f59.tar.xz
kernel-qcow2-linux-705e87c0c3c38424f7f30556c85bc20e808d2f59.zip
[PATCH] mm: pte_offset_map_lock loops
Convert those common loops using page_table_lock on the outside and pte_offset_map within to use just pte_offset_map_lock within instead. These all hold mmap_sem (some exclusively, some not), so at no level can a page table be whipped away from beneath them. But whereas pte_alloc loops tested with the "atomic" pmd_present, these loops are testing with pmd_none, which on i386 PAE tests both lower and upper halves. That's now unsafe, so add a cast into pmd_none to test only the vital lower half: we lose a little sensitivity to a corrupt middle directory, but not enough to worry about. It appears that i386 and UML were the only architectures vulnerable in this way, and pgd and pud no problem. Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch')
0 files changed, 0 insertions, 0 deletions