[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2] x86/pv: Fix assertions in svm_load_segs()
On 08/09/2020 16:36, Jan Beulich wrote: > On 08.09.2020 17:08, Andrew Cooper wrote: >> OSSTest has shown an assertion failure: >> http://logs.test-lab.xenproject.org/osstest/logs/153906/test-xtf-amd64-amd64-1/serial-rimava1.log >> >> This is because we pass a non-NUL selector into svm_load_segs(), which is >> something we must not do, as this path does not load the attributes/limit >> from >> the GDT/LDT. >> >> Drop the {gs,gs}_sel parameters from svm_load_segs() and use 0 instead. This > Nit: {fs,gs} Yeah - I noticed and fixed immediately after sending. Also a plural issue in the previous paragraph. > >> is fine even for non-zero NUL segments, as it is how the IRET instruction >> behaves in all CPUs. > To be honest, I'd not call it "fine", but "acceptable". Ok. > (And I don't consider IRET's behavior "fine" either.) Nor me, but I'll happily use it to simplify our logic. >> Only use the svm_load_segs() path when FS and GS are NUL, which is the common >> case when scheduling a 64bit vcpu with 64bit userspace in context. >> >> Fixes: ad0fd291c5 ("x86/pv: Rewrite segment context switching from scratch") >> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> > Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> Thanks. ~Andrew
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |