lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 24 Oct 2018 19:29:14 +0000
From:   "Bae, Chang Seok" <chang.seok.bae@...el.com>
To:     Andy Lutomirski <luto@...nel.org>
CC:     Ingo Molnar <mingo@...nel.org>,
        Thomas Gleixner <tglx@...utronix.de>,
        "H. Peter Anvin" <hpa@...or.com>, Andi Kleen <ak@...ux.intel.com>,
        Dave Hansen <dave.hansen@...ux.intel.com>,
        "Metzger, Markus T" <markus.t.metzger@...el.com>,
        "Shankar, Ravi V" <ravi.v.shankar@...el.com>,
        LKML <linux-kernel@...r.kernel.org>
Subject: RE: [regression in -rc1] Re: [PATCH v6 2/8] x86/fsgsbase/64:
 Introduce FS/GS base helper functions

On Wed, Oct 24, 2018 at 12:22 PM Andy Lutomirski <luto@...nel.org>
> On Wed, Oct 24, 2018 at 12:13 PM Bae, Chang Seok
> <chang.seok.bae@...el.com> wrote:
> >
> > On Tue, Sep 18, 2018 at 12:02 PM Andy Lutomirski <luto@...nel.org>
> > > On Tue, Sep 18, 2018 at 4:09 PM Chang S. Bae
> > > <chang.seok.bae@...el.com>
> > > wrote:
> > > >
> > > > With new helpers, FS/GS base access is centralized.
> > > > Eventually, when FSGSBASE instruction enabled, it will be faster.
> > >
> > > Sorry for not catching this during review, but:
> > >
> > > > +void x86_fsbase_write_cpu(unsigned long fsbase) {
> > > > +       /*
> > > > +        * Set the selector to 0 as a notion, that the segment base is
> > > > +        * overwritten, which will be checked for skipping the segment load
> > > > +        * during context switch.
> > > > +        */
> > > > +       loadseg(FS, 0);
> > >
> > > ^^^
> > >
> > > what?
> > >
> > > > +       wrmsrl(MSR_FS_BASE, fsbase); }
> > >
> > > I don't understand what the comment is trying to say, but the sole
> > > caller so far of this function is x86_gsbase_write_task(), and the code looks
> incorrect.
> > >
> > > Ingo, I think we need to address this during this merge window,
> > > probably by removing the comment and the loadseg() call (and the
> > > same for gsbase...inactive).  But first, Chang, can you explain what
> > > exactly your intent is here?
> >
> > It's coming from do_arch_prctl_64(). If you think it really makes
> > confusion in x86_fsbase_write_cpu(), how about moving it to
> x86_fsbase_write_task()?
> 
> Why should ..write_task() magically change the index but only if it's writing
> current?
> 
> I think you should move it all the way out to the caller
> (do_arch_prctl_64()?) and we can see if it makes sense there.
> 

Okay. x86_fsbase_write_task() doesn't make sense. 
Then, it should rollback that helper and call x86_fsbase_write_cpu() only
from ptrace. Same for gsbase. Sounds okay?

Chang

Powered by blists - more mailing lists