Messages in this thread | | | Date | Mon, 18 Sep 2006 09:24:53 -0700 | From | Jeremy Fitzhardinge <> | Subject | Re: Sysenter crash with Nested Task Bit set |
| |
Linus Torvalds wrote: > Final note (I promise): now that we save/restore eflags again, we > should probably revert the set_iopl_mask() in task switching too. However, > that apparently has some para-virtualization issues, so I'm going to > ignore that part from now. >
I'm wondering if we shouldn't have a (__)switch_to paravirt hook, so we can wrap the context switch in whatever we like.
> However, I'd really like people who know and care about the > paravirtualization to take a good long look at it: because right now, with > the addition of the eflags save/restore, the set_iopl_mask() in > __switch_to() is entirely useless for non-virtualized environments, afaik. >
Hm. Zach removed the pushf/popf in switch_to this last Sept, with the comment "The pushf/popf in switch_to are ONLY used to switch IOPL. Making this explicit in C code is more clear. This pushf/popf pair was added as a bugfix for leaking IOPL to unprivileged processes when using sysenter/sysexit based system calls (sysexit does not restore flags)."
> Zack added to the cc. Who else needs to know? Rusty, Chris Wright and me.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |