[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87a6zuof39.fsf@nanos.tec.linutronix.de>
Date: Mon, 20 Jul 2020 08:50:02 +0200
From: Thomas Gleixner <tglx@...utronix.de>
To: Andy Lutomirski <luto@...capital.net>
Cc: Andy Lutomirski <luto@...nel.org>,
Kees Cook <keescook@...omium.org>,
LKML <linux-kernel@...r.kernel.org>, X86 ML <x86@...nel.org>,
linux-arch <linux-arch@...r.kernel.org>,
Will Deacon <will@...nel.org>, Arnd Bergmann <arnd@...db.de>,
Mark Rutland <Mark.Rutland@....com>,
Keno Fischer <keno@...iacomputing.com>,
Paolo Bonzini <pbonzini@...hat.com>,
kvm list <kvm@...r.kernel.org>,
Gabriel Krisman Bertazi <krisman@...labora.com>
Subject: Re: [patch V3 01/13] entry: Provide generic syscall entry functionality
Andy Lutomirski <luto@...capital.net> writes:
>> On Jul 19, 2020, at 3:17 AM, Thomas Gleixner <tglx@...utronix.de> wrote:
>>
>> Andy Lutomirski <luto@...nel.org> writes:
>>>> On Sat, Jul 18, 2020 at 7:16 AM Thomas Gleixner <tglx@...utronix.de> wrote:
>>>> Andy Lutomirski <luto@...nel.org> writes:
>>>>> FWIW, TIF_USER_RETURN_NOTIFY is a bit of an odd duck: it's an
>>>>> entry/exit word *and* a context switch word. The latter is because
>>>>> it's logically a per-cpu flag, not a per-task flag, and the context
>>>>> switch code moves it around so it's always set on the running task.
>>>>
>>>> Gah, I missed the context switch thing of that. That stuff is hideous.
>>>
>>> It's also delightful because anything that screws up that dance (such
>>> as failure to do the exit-to-usermode path exactly right) likely
>>> results in an insta-root-hole. If we fail to run user return
>>> notifiers, we can run user code with incorrect syscall MSRs, etc.
>>
>> Looking at it deeper, having that thing in the loop is a pointless
>> exercise. This really wants to be done _after_ the loop.
>>
> As long as we’re confident that nothing after the loop can set the flag again.
Yes, because that's the direct way off to user space.
Thanks,
tglx
Powered by blists - more mailing lists