Re: Updated version of RD/WR FS/GS BASE patchkit

From: Andi Kleen
Date: Mon Mar 21 2016 - 15:22:07 EST

On Mon, Mar 21, 2016 at 11:39:07AM -0700, Andy Lutomirski wrote:
> 4. Does the sigcontext format need to change?

I don't think it needs to be. fs/gs are global state and the
signal handlers are not likely to change it.

Also there is no default that could be restored.

> For maximum safely, comprehensibility, and sanity, there's an argument
> to be made that 1a and 2a should leave the state exactly as it started
> and that 1b and 2b should leave it alone unless percpu bases are in
> use. For maximum simplicity of implementation, there's an argument
> that, if the fs or gs selector is nonzero and the base doesn't match
> the in-memory descriptor, then the kernel can do whatever it wants.
> I propose the following semantics:

So you want to change the existing semantics. We had this discussion
before. I think it is out of scope of my patch, which just extends the
existing semantics to support the instructions.

(what happened in the system call before is now possible in ring 3)

If you want to invent some new overengineered semantics you can do it in some
followon patch.

Personally i think it is pointless. The existing semantics are fine.

> Does all this make sense? Do people agree with me?

I think you are overcomplicated something fundamentally simple.

ak@xxxxxxxxxxxxxxx -- Speaking for myself only.