From: "Joerg Roedel" <joerg.roedel-5C7GfCeVMHo@public.gmane.org>
To: "Avi Kivity" <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
Cc: kvm-devel <kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>
Subject: Re: [PATCH] Fix possible FPU information on SVM
Date: Thu, 7 Jun 2007 16:42:51 +0200 [thread overview]
Message-ID: <20070607144251.GF24291@amd.com> (raw)
In-Reply-To: <46681170.2080700-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
On Thu, Jun 07, 2007 at 05:08:48PM +0300, Avi Kivity wrote:
> Joerg Roedel wrote:
> >From: Joerg Roedel <joerg.roedel-5C7GfCeVMHo@public.gmane.org>
> >
> >On AMD K8 processors the fxsave/fxrstor instructions do not save and
> >restore the x87 error pointers FIP/FOP and FDP except the ES bit in the
> >status word is set. This could lead to information leakage from host to
> >guest and vice versa. This patch fixes this by setting the error
> >pointers to defined values on FPU state switch in KVM.
> >
> >
>
> The host already has full access to the guest fpu state, so there's no gain in clearing the
> error pointers after the guest exit. Am I right in assuming that the error data itself
> cannot cause any problems?
These error pointers could be read from the host userspace which has
normally no access to the guest FPU state. So I think they should also
be cleared at guest exit.
> The first bit (before guest entry) is needed, though I have a hard time seeing what a guest
> could to with the error pointers.
Yes, there are only theoretical attacks for this problem AFAIK. In
theory its possible to track the execution path of an application using
the FPU. But the Linux kernel does the same on FPU context switch
between processes, so it should also be done at the KVM guest/host
switch.
--
| AMD Saxony Limited Liability Company & Co. KG
Operating | Wilschdorfer Landstr. 101, 01109 Dresden, Germany
System | Register Court Dresden: HRA 4896
Research | General Partner authorized to represent:
Center | AMD Saxony LLC (Wilmington, Delaware, US)
| General Manager of AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
next prev parent reply other threads:[~2007-06-07 14:42 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-07 14:01 [PATCH] Fix possible FPU information on SVM Joerg Roedel
[not found] ` <20070607140145.GD24291-5C7GfCeVMHo@public.gmane.org>
2007-06-07 14:08 ` Avi Kivity
[not found] ` <46681170.2080700-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-06-07 14:42 ` Joerg Roedel [this message]
[not found] ` <20070607144251.GF24291-5C7GfCeVMHo@public.gmane.org>
2007-06-07 14:51 ` Avi Kivity
[not found] ` <46681B75.6020709-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-06-07 17:22 ` Joerg Roedel
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=20070607144251.GF24291@amd.com \
--to=joerg.roedel-5c7gfcevmho@public.gmane.org \
--cc=avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org \
--cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox