Le Mercredi 12 Avril 2006 05:19, Isaku Yamahata a écrit :
> 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;
Correct.
I will submit such a patch soon.
Tristan.
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|