All of lore.kernel.org
 help / color / mirror / Atom feed
From: Avi Kivity <avi@redhat.com>
To: Andi Kleen <andi@firstfloor.org>
Cc: x86@kernel.org, Ingo Molnar <mingo@elte.hu>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	KVM list <kvm@vger.kernel.org>
Subject: Re: [PATCH 0/3] Remove interrupt stack table usage from x86_64 kernel
Date: Sun, 28 Dec 2008 16:09:26 +0200	[thread overview]
Message-ID: <49578896.8030703@redhat.com> (raw)
In-Reply-To: <20081228131605.GC496@one.firstfloor.org>

(restoring cc list)

Andi Kleen wrote:
> One of the other problems: NMIs and MCEs have the same problem with SYSCALL
>   

This one however looks unsolvable.  Userspace can point %rsp into 
arbitrary memory, issue a syscall, and hope for an nmi.  Since we're in 
cpl 0 and are not using IST, the processor will not switch stacks, and 
the nmi stack frame will corrupt any memory the user chooses to point to.

Even without a malicious user, %rsp could legitimately point at unmapped 
memory.

I don't see how syscall could work on i386, and indeed:

> vdso32.so-$(VDSO32-y)        += int80
> vdso32.so-$(CONFIG_COMPAT)    += syscall
> vdso32.so-$(VDSO32-y)        += sysenter

It's disabled.  Is that the reason?

-- 
error compiling committee.c: too many arguments to function


  parent reply	other threads:[~2008-12-28 14:10 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-25 20:58 [PATCH 0/3] Remove interrupt stack table usage from x86_64 kernel Avi Kivity
2008-12-25 20:58 ` [PATCH 1/3] x86: drop the use of the tss interrupt stack table (IST) Avi Kivity
2008-12-25 20:58 ` [PATCH 2/3] x86: Remove pda.irqcount Avi Kivity
2008-12-25 20:58 ` [PATCH 3/3] x86: Switch critical exceptions and NMI to irqstack Avi Kivity
2008-12-26  9:15 ` [PATCH 0/3] Remove interrupt stack table usage from x86_64 kernel Ingo Molnar
     [not found] ` <87vdt5vfxc.fsf@basil.nowhere.org>
     [not found]   ` <4956A0B1.1060908@redhat.com>
     [not found]     ` <20081227224029.GB496@one.firstfloor.org>
     [not found]       ` <49573FE7.9090802@redhat.com>
     [not found]         ` <20081228131605.GC496@one.firstfloor.org>
2008-12-28 14:09           ` Avi Kivity [this message]
2008-12-28 19:08             ` Andi Kleen
2008-12-28 19:07               ` Avi Kivity
2008-12-28 19:19                 ` Avi Kivity
2008-12-28 20:08                   ` Avi Kivity
2008-12-28 20:34                     ` Andi Kleen
2008-12-28 20:28                       ` Avi Kivity
2008-12-28 19:30                 ` Andi Kleen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=49578896.8030703@redhat.com \
    --to=avi@redhat.com \
    --cc=andi@firstfloor.org \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.