Re: [PATCH] arm64: Preventing READ_IMPLIES_EXEC propagation

From: Will Deacon
Date: Tue Apr 25 2017 - 12:54:06 EST


On Tue, Apr 25, 2017 at 02:11:29PM +0800, dongbo (E) wrote:
> From: Dong Bo <dongbo4@xxxxxxxxxx>
>
> Once the READ_IMPLIES_EXEC flag is set on arm64, the flag is
> propagated to its child processes, even the ELF files are
> marked as not requiring executable stack.
>
> Signed-off-by: Dong Bo <dongbo4@xxxxxxxxxx>
> ---
> arch/arm64/include/asm/elf.h | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/arch/arm64/include/asm/elf.h b/arch/arm64/include/asm/elf.h
> index 5d17004..5941e7f 100644
> --- a/arch/arm64/include/asm/elf.h
> +++ b/arch/arm64/include/asm/elf.h
> @@ -142,6 +142,7 @@
> ({ \
> clear_bit(TIF_32BIT, &current->mm->context.flags); \
> clear_thread_flag(TIF_32BIT); \
> + current->personality &= ~READ_IMPLIES_EXEC; \
> })
> /* update AT_VECTOR_SIZE_ARCH if the number of NEW_AUX_ENT entries changes */

This looks good to me:

Acked-by: Will Deacon <will.deacon@xxxxxxx>

We might also want a comment in the compat code to say that we inherit
the flag to follow the arch/arm/ behaviour.

Anyway, I'd like to see this sit in -next for a bit, so would rather hold
this off until 4.12.

Will