[RFC PATCH v3] ARM: uprobes need icache flush after xol write
David Long
dave.long at linaro.org
Fri Apr 25 13:16:53 PDT 2014
On 04/16/14 17:13, David Miller wrote:
> From: Russell King - ARM Linux <linux at arm.linux.org.uk>
> Date: Wed, 16 Apr 2014 21:22:43 +0100
>
>> I'm thinking that both flush_icache_alias() and flush_pfn_alias() want
>> at least a preemption disabled around each so that we don't end up with
>> two threads being preempted here.
>
> Yes, you would need to disable preemption to keep another thread of
> control from potentially using the same flush slot.
>
Sorry for the delay in replying.
I guess the above potential problem is largely independent of the
uprobes caching issue.
I spent a while reading up on ARM cache operations and MMFR3 register
contents. I don't pretend to understand all the details but, based on
what I do, it looks to me like Victor's v3 patch addresses all the
issues that we think it needs to. I also see now why the
dcache_flush_page() is needed rather than a call to the lower-level
clean_dcache_line() function.
Victor, maybe you could remove the "#ifdef CONFIG_SMP"s from it and send
it out as an official (non-RFC) uprobes patch? It would be really nice
to get this into V3.15, if at all possible.
-dl
More information about the linux-arm-kernel
mailing list