From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [RFC PATCH V5 15/15] evtchn: only allow 3-level event channel on Dom0 Date: Tue, 19 Mar 2013 15:15:40 +0000 Message-ID: <1363706140-26989-16-git-send-email-wei.liu2@citrix.com> References: <1363706140-26989-1-git-send-email-wei.liu2@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1363706140-26989-1-git-send-email-wei.liu2@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org Cc: Wei Liu , david.vrabel@citrix.com, jbeulich@suse.com, ian.campbell@citrix.com List-Id: xen-devel@lists.xenproject.org Signed-off-by: Wei Liu --- xen/common/event_channel.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c index 0f9e8e4..f48c3a2 100644 --- a/xen/common/event_channel.c +++ b/xen/common/event_channel.c @@ -1118,7 +1118,10 @@ long do_event_channel_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg) case EVTCHNOP_query_extended_abis: { struct evtchn_query_extended_abis query; + struct domain *d = current->domain; query.abis = extended_event_channel; + if ( d->domain_id != 0 ) + query.abis &= ~EVTCHN_EXTENDED_L3; rc = 0; if ( __copy_to_guest(arg, &query, 1) ) rc = -EFAULT; @@ -1127,6 +1130,9 @@ long do_event_channel_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg) case EVTCHNOP_register_3level: { struct evtchn_register_3level reg; + struct domain *d = current->domain; + if ( d->domain_id != 0 ) + return -EPERM; if ( copy_from_guest(®, arg, 1) != 0 ) return -EFAULT; rc = evtchn_register_3level(®); -- 1.7.10.4