WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] Hypercall privilege check

To: "Mark Williamson" <mark.williamson@xxxxxxxxxxxx>
Subject: Re: [Xen-devel] Hypercall privilege check
From: "Steven Y. Ko" <sko@xxxxxxxxxxx>
Date: Thu, 28 Jun 2007 20:32:38 -0500
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Thu, 28 Jun 2007 18:30:34 -0700
Dkim-signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; b=GP0yp8QeDyBf9ZqdaL816FLyGxrFxaUCtbwgrESLVVqMCwOfCEMTnYQEpy3cGaaPAGoWC3eCKEZbyjnEQK/rIKE2YZjbKbSptaaOIUlv4s9WkYePZs06OR0KD+dOqzKXI9wJsy3SsNJSFZbPrdzEeV1Cd2srTx6xEMs4MaIZL/U=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; b=eqKc6RqC+93vSM+iu+3rUCJSiT2tHxc/ywW/T7YGMYRrIoIK8o4yBkbhoLNE1h9cA1aCBkN4ziRHfBqukHKiFydWbgVM+D23Ot5Mt02oKz9yVFrZ1foLiaxXyKGDEJEwd6WIDdjLZl67dM4H3ptjZp0K+2rj1TrnKJbg+DaTh0s=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <200706290007.05501.mark.williamson@xxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <5fa100fd0706281554s4bd36ae1l936e92b8ec8ce280@xxxxxxxxxxxxxx> <200706290007.05501.mark.williamson@xxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thanks for the quick answer!

But I guess my question was not clear enough, because I was actually
asking about Xen and how it enforces hypercalls to be made only from
ring 1. I just assumed that Xen checks if int 0x82 is executed with
the right privilege. But when I tried to find where Xen actually does
it, I couldn't find it. I hope my question is more clear this time :)

- Steve

On 6/28/07, Mark Williamson <mark.williamson@xxxxxxxxxxxx> wrote:
> I'm wondering where Xen actually checks whether a hypercall is made
> from ring 1 or ring 3. Could anyone point me out to the code? Any
> pointer would be much appreciated. Thanks!

Hypercalls are made from ring 1.  The userspace tools do make hypercalls
sometimes, but they do it by calling a special kernel driver, which then does
the actual hypercall.  *actually* what that does is to jump into the
hypercall transfer page at the right location.  This page contains the actual
implementation of the hypercall (using this indirection allows future
versions of Xen to supply different implementations of the calls, if
appropriate).

Take a look at:
drivers/xen/privcmd/privcmd.c  in the XenLinux tree.  This is used by the dom0
tools to do control plane operations.

Also, take a look at: include/asm-i386/mach-xen/asm/hypercall.h which contains
implementations of some other hypercalls.

HTH,
Cheers,
mark

--
Dave: Just a question. What use is a unicyle with no seat?  And no pedals!
Mark: To answer a question with a question: What use is a skateboard?
Dave: Skateboards have wheels.
Mark: My wheel has a wheel!


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel