[PATCH v2 05/20] ARM: LPAE: Introduce L_PTE_NOEXEC and L_PTE_NOWRITE

Catalin Marinas catalin.marinas at arm.com
Wed Nov 17 12:22:12 EST 2010


On 17 November 2010 17:16, Russell King - ARM Linux
<linux at arm.linux.org.uk> wrote:
> On Wed, Nov 17, 2010 at 05:02:37PM +0000, Catalin Marinas wrote:
>> On 15 November 2010 18:30, Russell King - ARM Linux
>> <linux at arm.linux.org.uk> wrote:
>> > On Fri, Nov 12, 2010 at 06:00:25PM +0000, Catalin Marinas wrote:
>> >> --- a/arch/arm/include/asm/pgtable-2level.h
>> >> +++ b/arch/arm/include/asm/pgtable-2level.h
>> >> @@ -128,6 +128,8 @@
>> >>  #define L_PTE_USER           (1 << 8)
>> >>  #define L_PTE_EXEC           (1 << 9)
>> >>  #define L_PTE_SHARED         (1 << 10)       /* shared(v6), coherent(xsc3) */
>> >> +#define L_PTE_NOEXEC         (0)
>> >> +#define L_PTE_NOWRITE                (0)
>> >
>> > Let's not make this more complicated than it has to be.  If we need the
>> > inverse of WRITE and EXEC, then that's what we should change everyone to,
>> > not invent a new system to work along side the old system.
>>
>> Question on the pgprot_noncached/writecombine/dmacoherent - in the
>> current implementation we pass L_PTE_EXEC on the dmacoherent macro.
>
> Erm.  Please look at the code again.

Ah, good point, that was the mask.

So for dmacoherent we make sure that L_PTE_EXEC is cleared. I suspect
we should now make sure that L_PTE_NOEXEC is set. For the other two,
just leave them as they are.

-- 
Catalin



More information about the linux-arm-kernel mailing list