Re: [PATCH v6 08/10] x86, mpx: add prctl commands PR_MPX_REGISTER, PR_MPX_UNREGISTER

From: Andy Lutomirski
Date: Mon Jun 23 2014 - 20:01:55 EST


On Mon, Jun 23, 2014 at 4:42 PM, Dave Hansen <dave.hansen@xxxxxxxxx> wrote:
> On 06/23/2014 03:00 PM, Andy Lutomirski wrote:
>> Hmm. How about PR_SET/GET_MPX_BOUNDS_TABLE, to update the kernel's
>> copy. No fpu magic needed.
>>
>> This has an added benefit: CRIU will need updating for MPX, and
>> they'll appreciate having the required interface already exist.
>> (They'll want a way to allocate "MPX" memory, too, but that's probably
>> somewhat less important, and it won't result in duplicated
>> functionality.)
>
> I like the idea of the most minimal interface possible. If the kernel
> ever needed or wanted to cache more of the register setup, we wouldn't
> need to change the interface. For CRIU, I don't know much about the
> phases of how it sets itself up, but I guess the difference would be
> whether userspace has to do a register save and restore and a prctl() or
> just a plain prctl() with extra arguments. Doesn't seem fundamentally
> different to me.
>
> BTW, it's not a pointer to a bounds table, it's the bounds directory.
> There are two levels of the tables.

I suspect that the existence of the get operation matters more. What
if the checkpointed process has the cached copy out of sync with the
register copy? More realistically, what if the checkpointed process
doesn't want to use kernel MPX assistance at all? CRIU won't be able
to detect this with the current proposed interface.

--Andy
--
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/