Messages in this thread | | | Subject | Re: [PATCH 1/3] x86/kvm/vmx: read MSR_FS_BASE from current->thread | From | Paolo Bonzini <> | Date | Mon, 12 Mar 2018 17:18:13 +0100 |
| |
On 12/03/2018 17:13, Andy Lutomirski wrote: >> >> savesegment(fs, vmx->host_state.fs_sel); >> /* >> * When FSGSBASE extensions are enabled, this will have to use >> * RD{FS,GS}BASE instead of accessing current, and the >> * corresponding WR{FS,GS}BASE should be done unconditionally, >> * even if fs_reload_needed (resp. gs_ldt_reload_needed) is 1. >> */ >> if (vmx->host_state.fs_sel <= 3) { >> vmcs_write16(HOST_FS_SELECTOR, vmx->host_state.fs_sel); >> vmcs_write16(HOST_FS_BASE, current->thread.fsbase); >> vmx->host_state.fs_reload_needed = 0; >> } else { >> vmcs_write16(HOST_FS_SELECTOR, 0); >> vmcs_write16(HOST_FS_BASE, 0); >> vmx->host_state.fs_reload_needed = 1; >> } >> savesegment(gs, vmx->host_state.gs_sel); >> ... >> >> ? >> > Hmm, probably, although this still gets the case where the user writes > 0 to %fs wrong. Of course, save_fsgs() also gets that wrong. > > I'm okay with this variant as long as you add a comment to > save_..._legacy pointing at the KVM code.
Why in save_..._legacy? If it is about FSGSBASE, shouldn't it be in save_fsgs? (Or if not I'm missing what the comment should be about).
Paolo
| |