On 09/07/20 20:28, Jim Mattson wrote: >> That said, the VMCB here is guest memory and it can change under our >> feet between nested_vmcb_checks and nested_prepare_vmcb_save. Copying >> the whole save area is overkill, but we probably should copy at least >> EFER/CR0/CR3/CR4 in a struct at the beginning of nested_svm_vmrun; this >> way there'd be no TOC/TOU issues between nested_vmcb_checks and >> nested_svm_vmrun. This would also make it easier to reuse the checks in >> svm_set_nested_state. Maybe Maxim can look at it while I'm on vacation, >> as he's eager to do more nSVM stuff. :D > > I fear that nested SVM is rife with TOCTTOU issues. I am pretty sure about that, actually. :) Another possibility to stomp them in a more efficient manner could be to rely on the dirty flags, and use them to set up an in-memory copy of the VMCB. Paolo