From: Dong Bo <[email protected]>
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 <[email protected]>
---
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, ¤t->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 */
--
1.9.1
.
On Tue, Apr 25, 2017 at 02:11:29PM +0800, dongbo (E) wrote:
> From: Dong Bo <[email protected]>
>
> 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 <[email protected]>
> ---
> 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, ¤t->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 <[email protected]>
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