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

Re: [Xen-devel] Nested events in 64bit mini-OS



Xu Zhang, le Tue 13 Nov 2012 19:49:27 -0600, a écrit :
> 1. if event is disabled: doesn't hurt to mask it again;
> 2. if event is enabled: we disable event, and jumps to hypercall_page to
> make a hypercall iret, which eventually calls do_iret:
> 
> In do_iret, line 309:
>      /* Restore upcall mask from supplied EFLAGS.IF. */
>      vcpu_info(v, evtchn_upcall_mask) = !(iret_saved.rflags &
> X86_EFLAGS_IF);

Ah, right. Disabling events just before the jmp seems all right to me
then.

> Correct me if I am wrong, I think hypercall_page is mapped at runtime to
> guest OS by Xen. It's not actually part of the critical section of guest OS,
> at least not at compile time.

Sure. I meant it'd mean a second fixup table, but who knows what code is
there, it could be tampering with the stack.

> Following the discussion above, we could easily avoid such fixup table
> by mask out the events.

Completely.

Samuel

_______________________________________________
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®.