linux/arch
Davidlohr Bueso cd2567b685 m68k: call find_vma with the mmap_sem held in sys_cacheflush()
Performing vma lookups without taking the mm->mmap_sem is asking for
trouble.  While doing the search, the vma in question can be modified or
even removed before returning to the caller.  Take the lock (shared) in
order to avoid races while iterating through the vmacache and/or rbtree.
In addition, this guarantees that the address space will remain intact
during the CPU flushing.

Signed-off-by: Davidlohr Bueso <davidlohr@hp.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2014-10-09 22:26:02 -04:00
..
alpha Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-10-09 06:30:57 -04:00
arc irq_work: Introduce arch_irq_work_has_interrupt() 2014-09-13 18:38:07 +02:00
arm arm: mm: enable RCU fast_gup 2014-10-09 22:26:01 -04:00
arm64 arm64: mm: enable RCU fast_gup 2014-10-09 22:26:01 -04:00
avr32 irq_work: Introduce arch_irq_work_has_interrupt() 2014-09-13 18:38:07 +02:00
blackfin Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-10-09 06:30:57 -04:00
c6x irq_work: Introduce arch_irq_work_has_interrupt() 2014-09-13 18:38:07 +02:00
cris cris: use Kbuild logic to include <asm-generic/sections.h> 2014-10-09 22:25:45 -04:00
frv irq_work: Introduce arch_irq_work_has_interrupt() 2014-09-13 18:38:07 +02:00
hexagon irq_work: Introduce arch_irq_work_has_interrupt() 2014-09-13 18:38:07 +02:00
ia64 Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-10-09 06:30:57 -04:00
m32r m32r: remove deprecated IRQF_DISABLED 2014-10-09 22:25:46 -04:00
m68k m68k: call find_vma with the mmap_sem held in sys_cacheflush() 2014-10-09 22:26:02 -04:00
metag irq_work: Introduce arch_irq_work_has_interrupt() 2014-09-13 18:38:07 +02:00
microblaze Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-10-09 06:30:57 -04:00
mips Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-10-09 06:30:57 -04:00
mn10300 mn10300: use Kbuild logic to include <asm-generic/sections.h> 2014-10-09 22:25:45 -04:00
openrisc Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-10-09 06:42:04 -04:00
parisc Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-10-09 06:30:57 -04:00
powerpc mm: remove misleading ARCH_USES_NUMA_PROT_NONE 2014-10-09 22:25:52 -04:00
s390 Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-10-09 06:30:57 -04:00
score score: use Kbuild logic to include <asm-generic/sections.h> 2014-10-09 22:25:46 -04:00
sh Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-10-09 06:30:57 -04:00
sparc Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-10-09 06:30:57 -04:00
tile Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-10-09 06:30:57 -04:00
um irq_work: Introduce arch_irq_work_has_interrupt() 2014-09-13 18:38:07 +02:00
unicore32 irq_work: Introduce arch_irq_work_has_interrupt() 2014-09-13 18:38:07 +02:00
x86 mm: remove misleading ARCH_USES_NUMA_PROT_NONE 2014-10-09 22:25:52 -04:00
xtensa Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-10-09 06:30:57 -04:00
.gitignore
Kconfig