[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2 04/14] x86/traps: Implement #CP handler and extend #PF for shadow stacks
On 28.05.2020 15:22, Andrew Cooper wrote: > On 28/05/2020 13:03, Jan Beulich wrote: >> On 27.05.2020 21:18, Andrew Cooper wrote: >>> @@ -940,7 +944,8 @@ autogen_stubs: /* Automatically generated stubs. */ >>> entrypoint 1b >>> >>> /* Reserved exceptions, heading towards do_reserved_trap(). */ >>> - .elseif vec == TRAP_copro_seg || vec == TRAP_spurious_int || (vec >>> > TRAP_simd_error && vec < TRAP_nr) >>> + .elseif vec == X86_EXC_CSO || vec == X86_EXC_SPV || \ >>> + vec == X86_EXC_VE || (vec > X86_EXC_CP && vec < TRAP_nr) >> Adding yet another || here adds to the fragility of the entire >> construct. Wouldn't it be better to implement do_entry_VE at >> this occasion, even its handling continues to end up in >> do_reserved_trap()? This would have the benefit of avoiding the >> pointless checking of %spl first thing in its handling. Feel >> free to keep the R-b if you decide to go this route. > > I actually have a different plan, which deletes this entire clause, and > simplifies our autogen sanity checking somewhat. > > For vectors which Xen has no implementation of (for whatever reason), > use DPL0, non-present descriptors, and redirect #NP[IDT] into > do_reserved_trap(). Except that #NP itself being a contributory exception, if the such covered exception is also contributory (e.g. #CP) or of page fault class (e.g. #VE), we'd get #DF instead of #NP afaict. Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |