From b267a5a2cae14c97ab9198336f1529e7e48fad22 Mon Sep 17 00:00:00 2001 From: Daniel De Graaf Date: Wed, 9 Oct 2013 12:04:29 +0200 Subject: xsm: forbid PV guest console reads The CONSOLEIO_read operation was incorrectly allowed to PV guests if the hypervisor was compiled in debug mode (with VERBOSE defined). Reported-by: Jan Beulich Signed-off-by: Daniel De Graaf master commit: 65ba631bcb62c79eb33ebfde8a0471fd012c37a8 master date: 2013-10-04 12:51:44 +0200 --- xen/include/xsm/dummy.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h index cc0a5a8301..ecf262b61c 100644 --- a/xen/include/xsm/dummy.h +++ b/xen/include/xsm/dummy.h @@ -222,10 +222,10 @@ static XSM_INLINE int xsm_console_io(XSM_DEFAULT_ARG struct domain *d, int cmd) { XSM_ASSERT_ACTION(XSM_OTHER); #ifdef VERBOSE - return xsm_default_action(XSM_HOOK, current->domain, NULL); -#else - return xsm_default_action(XSM_PRIV, current->domain, NULL); + if ( cmd == CONSOLEIO_write ) + return xsm_default_action(XSM_HOOK, d, NULL); #endif + return xsm_default_action(XSM_PRIV, d, NULL); } static XSM_INLINE int xsm_profile(XSM_DEFAULT_ARG struct domain *d, int op) -- cgit v1.2.3