[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] arm: implement hypercall continuations



> > +        for ( i = 0; *p != '\0'; i++ )
> > +        {
> > +            arg = next_arg(p, args);
> > +
> > +            switch ( i )
> > +            {
> > +            case 0: regs->r0 = arg;       break;
> 
> wrong alignment

I had rc = arg and lined it up then chaned it back without realigning,
thanks for pointing it out.

> > @@ -462,17 +469,18 @@ static void do_debug_trap(struct cpu_user_regs *regs, 
> > unsigned int code)
> >  
> >  static void do_trap_hypercall(struct cpu_user_regs *regs, unsigned long 
> > iss)
> >  {
> > -    arm_hypercall_t *call = NULL;
> > +    arm_hypercall_fn_t call = NULL;
> >  
> >      if ( iss != XEN_HYPERCALL_TAG )
> > +        domain_crash_synchronous();
> 
> Why did you change the behavior of the iss != XEN_HYPERCALL_TAG case?

I just noticed it while adding the bounds check. A guest which makes a
hypercall with the wrong tag is either malicious or about to fail
horribly, there's no reason to allow them to keep living.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.