On 12/18/2015 01:02 PM, Andy Lutomirski wrote: > On Fri, Dec 18, 2015 at 12:58 PM, H. Peter Anvin <h...@zytor.com> wrote: >> > On 12/18/2015 12:49 PM, Andy Lutomirski wrote: >>> >> >>> >> IOW, I like my idea in which signal delivery always sets PKRU to the >>> >> application-requested-by-syscall values and sigreturn restores it. >>> >> Kinda like sigaltstack, but applies to all signals and affects PKRU >>> >> instead of RSP. >>> >> >> > I think this is the only sensible option, with the default being all zero. >> > > Or not quite all zero if we do Dave's experimental PROT_EXEC thing. > > Actually, I want to introduce a set of per-mm "incompatible" bits. By > default, they'd be zero. We can, as needed, define bits that do > something nice but break old code. I want one of the bits to turn > vsyscalls off entirely. Another bit could say that the kernel is > allowed to steal a protection key for PROT_EXEC.
That really only makes sense if we have userspace that expects all the protection keys to be available. If we go the route of having pkey_alloc/free() syscalls, then the kernel can easily tell userspace to keep its mitts off a particular pkey by not ever returning it from a pkey_alloc(). -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/