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 [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/