On Thu, Apr 23, 2015 at 11:56:21AM +0200, Denys Vlasenko wrote: > The fix can look like this (untested): > > > diff --git a/arch/x86/ia32/ia32entry.S b/arch/x86/ia32/ia32entry.S > index 0c302d0..9f4c232 100644 > --- a/arch/x86/ia32/ia32entry.S > +++ b/arch/x86/ia32/ia32entry.S > @@ -198,6 +198,18 @@ sysexit_from_sys_call: > * with 'sysenter' and it uses the SYSENTER calling convention. > */ > andl $~TS_COMPAT,ASM_THREAD_INFO(TI_status, %rsp, SIZEOF_PTREGS) > + /* > + * On AMD, SYSRET32 does not modify %ss cached descriptor;
Ok, but doc says that in both long and compat mode, SYSRET does load SS.sel with the value in MSR_STAR... Hmmm. -- Regards/Gruss, Boris. ECO tip #101: Trim your mails when you reply. -- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/