lkml.org 
[lkml]   [2020]   [Jun]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: Should SEV-ES #VC use IST? (Re: [PATCH] Allow RDTSC and RDTSCP from userspace)
    From
    Date
    On 23/06/2020 16:23, Peter Zijlstra wrote:
    > On Tue, Jun 23, 2020 at 04:59:14PM +0200, Joerg Roedel wrote:
    >> On Tue, Jun 23, 2020 at 04:53:44PM +0200, Peter Zijlstra wrote:
    >>> +noinstr void idtentry_validate_ist(struct pt_regs *regs)
    >>> +{
    >>> + if ((regs->sp & ~(EXCEPTION_STKSZ-1)) ==
    >>> + (_RET_IP_ & ~(EXCEPTION_STKSZ-1)))
    >>> + die("IST stack recursion", regs, 0);
    >>> +}
    >> Yes, this is a start, it doesn't cover the case where the NMI stack is
    >> in-between, so I think you need to walk down regs->sp too.
    > That shouldn't be possible with the current code, I think.

    NMI; #MC; Anything which IRET but isn't fatal - #DB, or #BP from
    patching, #GP from *_safe(), etc; NMI

    Sure its a corner case, but did you hear that IST is evil?

    ~Andrew

    P.S. did you also hear that with Rowhammer, userspace has a nonzero
    quantity of control over generating #MC, depending on how ECC is
    configured on the platform.

    \
     
     \ /
      Last update: 2020-06-23 17:40    [W:3.639 / U:0.056 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site