Messages in this thread | | | From | Andy Lutomirski <> | Date | Mon, 23 Jun 2014 17:01:22 -0700 | Subject | Re: [PATCH v6 08/10] x86, mpx: add prctl commands PR_MPX_REGISTER, PR_MPX_UNREGISTER |
| |
On Mon, Jun 23, 2014 at 4:42 PM, Dave Hansen <dave.hansen@intel.com> 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
| |