linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* ARM cacheflush syscall with range that spans multiple vma
@ 2013-06-10  0:05 John Reiser
  2013-06-10  8:59 ` Russell King - ARM Linux
  0 siblings, 1 reply; 6+ messages in thread
From: John Reiser @ 2013-06-10  0:05 UTC (permalink / raw)
  To: linux-arm-kernel

Why does the ARM cacheflush syscall stop after the lowest vma
which intersects the user-requested range?  The range could
span more than one vma having contiguous addresses, such as
two files MAP_SHARED into adjacent pages; or even a region
that contains holes (pages not present.)

The code path in arch/arm/kernel/traps.c is:

arm_syscall():
        case NR(cacheflush):
                return do_cache_op(regs->ARM_r0, regs->ARM_r1, regs->ARM_r2);

do_cache_op() contains no loop for more than one vma:
        vma = find_vma(mm, start);

-- 

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2013-06-11 10:11 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-10  0:05 ARM cacheflush syscall with range that spans multiple vma John Reiser
2013-06-10  8:59 ` Russell King - ARM Linux
2013-06-10  9:09   ` Will Deacon
2013-06-10 20:16     ` John Reiser
2013-06-10 23:42       ` Russell King - ARM Linux
2013-06-11 10:11   ` Will Deacon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).