On Tue, Apr 11, 2006 at 01:19:49PM +0100, Tristan Gingold wrote:
> Le Mardi 11 Avril 2006 13:59, Xu, Anthony a écrit :
> > >> It was used for debug.
> > >> Break 0, its opcode is 0,
> > >> Usually break 0 is not used by linux kernel and application.
> > >> When break 0 is executed, it usually means some thing wrong.
> > >
> > >Sure, but if an application does break 0, it locks up Xen!
> > >Maybe we should add a check.
> >
> > Normal application will not use break 0, right?
> Right and normal application does not crash too :-)
> Seriously, this is a security bug to me. A user must not be able to locks up
> an hypervisor!
Such a bug check can be done at vmx_ia64_handle_break().
ENTRY(vmx_break_fault)
...
cmp.eq p6,p7=r30,r0 <<<<<<<<<<<<< remove
(p6) br.sptk vmx_fault_11 <<<<<<<<<<<<< remove
;; <<<<<<<<<<<<<< remove
vmx_ia64_handle_break()
....
} else {
if (iim == 0) <<<<<<<<<<<<<<<<<<<<<<<<<< add precise check
die_if_kernel("bug check", regs, iim);
vmx_reflect_interruption(ifa,isr,iim,11,regs);
}
return IA64_NO_FAULT;
--
yamahata
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|