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

Bug#544145: [Xen-devel] Crash with paravirt-ops 2.6.31.6 kernel



On Mon, Nov 23, 2009 at 04:42:59PM +0000, Ian Campbell wrote:
> On Mon, 2009-11-23 at 16:31 +0000, Bastian Blank wrote:
> > The code actually have to know if it was called from 64 or compatibility
> > mode, not assume it.
> Sounds correct. This is tricky for a hypervisor since we don't know the
> mode of the guest user-mode processes which made the syscall. The guest
> kernel does know this which is why I proposed an additional
> VGCF_compat_mode flag.

Yeah.

> > And it also say that you have to use sysret, and not iret.
> I don't believe that is the case (the processor would have to carry some
> state for the entire duration of a syscall for it to make any
> difference). I think the spec simply assumes that an OS author would
> want to use sysret if they used syscall.

Well, it is documented this way. If you ignore it, it can work (and does
in this case) but is undefined behaviour.

Bastian

-- 
Bones: "The man's DEAD, Jim!"



Reply to: