diff options
author | Al Viro <viro@ZenIV.linux.org.uk> | 2012-03-05 06:40:29 (GMT) |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-05 21:51:32 (GMT) |
commit | cd2934a3b3057eb048f8b4fb82e941d24a043207 (patch) | |
tree | 80bb0630c6f4b21fa47114a6226f9ef8aa448bc3 /drivers/gpu | |
parent | 835ee7978cb47de94cf70232a694f19295d2993f (diff) | |
download | linux-fsl-qoriq-cd2934a3b3057eb048f8b4fb82e941d24a043207.tar.xz |
flush_tlb_range() needs ->page_table_lock when ->mmap_sem is not held
All other callers already hold either ->mmap_sem (exclusive) or
->page_table_lock. And we need it because some page table flushing
instanced do work explicitly with ge tables.
See e.g. arch/powerpc/mm/tlb_hash32.c, flush_tlb_range() and
flush_range() in there. The same goes for uml, with a lot more
extensive playing with page tables.
Almost all callers are actually fine - flush_tlb_range() may have no
need to bother playing with page tables, but it can do so safely; again,
this caller is the sole exception - everything else either has exclusive
->mmap_sem on the mm in question, or mm->page_table_lock is held.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/gpu')
0 files changed, 0 insertions, 0 deletions