29 lines
994 B
Diff
29 lines
994 B
Diff
|
# Commit 65ba631bcb62c79eb33ebfde8a0471fd012c37a8
|
||
|
# Date 2013-10-04 12:51:44 +0200
|
||
|
# Author Daniel De Graaf <dgdegra@tycho.nsa.gov>
|
||
|
# Committer Jan Beulich <jbeulich@suse.com>
|
||
|
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 <jbeulich@suse.com>
|
||
|
Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
|
||
|
|
||
|
--- a/xen/include/xsm/dummy.h
|
||
|
+++ b/xen/include/xsm/dummy.h
|
||
|
@@ -222,10 +222,10 @@ static XSM_INLINE int xsm_console_io(XSM
|
||
|
{
|
||
|
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)
|