Thread (13 messages) 13 messages, 4 authors, 2017-06-12

[PATCH] fs: Preventing READ_IMPLIES_EXEC Propagation

From: Peter Maydell <hidden>
Date: 2017-04-18 20:02:14
Also in: linux-fsdevel, lkml

On 18 April 2017 at 18:01, Catalin Marinas [off-list ref] wrote:
On Thu, Apr 13, 2017 at 08:33:52PM +0800, dongbo (E) wrote:
quoted
From: Dong Bo <redacted>

In load_elf_binary(), once the READ_IMPLIES_EXEC flag is set,
the flag is propagated to its child processes, even the elf
files are marked as not requiring executable stack. It may
cause superfluous operations on some arch, e.g.
__sync_icache_dcache on aarch64 due to a PROT_READ mmap is
also marked as PROT_EXEC.
That's affecting most architectures with a risk of ABI breakage. We
could do it on arm64 only, though I'm not yet clear on the ABI
implications (at a first look, there shouldn't be any).
Is there a reason why it isn't just straightforwardly a bug
(which we could fix) to make READ_IMPLIES_EXEC propagate to
child processes? AFAICT this should be per-process: just because
init happens not to have been (re)compiled to permit non-executable
stacks doesn't mean every process on the system needs to have
an executable stack. Behaviour shouldn't be variable across
architectures either, I would hope.

thanks
-- PMM
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help