Re: [PROPOSAL/PATCH] Remove PT_GNU_STACK support before 2.6.11

From: Linus Torvalds
Date: Sun Feb 06 2005 - 12:32:25 EST




On Sun, 6 Feb 2005, Arjan van de Ven wrote:
>
> Note that these techniques all exist today. The only issue is that the
> current code doesn't do the RWE->READIMPLIESEXEC binding, which my patch
> fixed.

My main objection to your patch is the naming. If 'executable_stack'
affects the heap, then why is it called "executable_STACK"?

Wouldn't it be much nicer to

- get rid of "EXSTACK_DEFAULT" as a special case, and instead just have
the architecture _initialize_ the damn variable to what it wants? In
other words, make it a nice understandable binary value (or maybe a
bitmask, if you want to have separate flags for stack/heap/mmap),
rather than a ternary value where one of the values means something
arch-dependent.

- just rename the dang thing to "read_implies_exec" and be done with it?

Hmm? Wouldn't that make a lot more sense?

And if you want to split things up, there's at least three flags there:
"stack" vs "file mapping" vs "anonymous mapping". For example, it might
well make sense to enforce PROT_EXEC on real file mappings, but not on the
stack or heap.. So "read_implies_exec" might well be a collection of bits
to enable these one by one (and make the "legacy app" thing make it enable
read-implies-exec for all the cases).

Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/