On 04/11/2014 11:29 AM, H. Peter Anvin wrote: > On 04/11/2014 11:27 AM, Brian Gerst wrote: >> Is this bug really still present in modern CPUs? This change breaks >> running 16-bit apps in Wine. I have a few really old games I like to >> play on occasion, and I don't have a copy of Win 3.11 to put in a VM. > > It is not a bug, per se, but an architectural definition issue, and it > is present in all x86 processors from all vendors. > > Yes, it does break running 16-bit apps in Wine, although Wine could be > modified to put 16-bit apps in a container. However, this is at best a > marginal use case. I wonder if there's an easy-ish good-enough fix: Allocate some percpu space in the fixmap. (OK, this is ugly, but kvmclock already does it, so it's possible.) To return to 16-bit userspace, make sure interrupts are off, copy the whole iret descriptor to the current cpu's fixmap space, change rsp to point to that space, and then do the iret. This won't restore the correct value to the high bits of [er]sp, but it will at least stop leaking anything interesting to userspace. --Andy -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html