From: Russell King Date: Fri, 18 Dec 2009 16:24:34 +0000 (+0000) Subject: ARM: make_coherent: fix problems with highpte, part 1 X-Git-Tag: v2.6.34-rc1~241^2~4^9~3 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=56dd47098abe1fdde598a8d8b7c04d775506f456;p=pandora-kernel.git ARM: make_coherent: fix problems with highpte, part 1 update_mmu_cache() is called with a page table already mapped. We call make_coherent(), which then calls adjust_pte() which wants to map other page tables. This causes kmap_atomic() to BUG() because the slot its trying to use is already taken. Since do_adjust_pte() modifies the page tables, we are also missing any form of locking, so we're risking corrupting the page tables. Fix this by using pte_offset_map_nested(), and taking the pte page table lock around do_adjust_pte(). Signed-off-by: Russell King --- Reading git-diff-tree failed