On 18/10/21 19:47, Sean Christopherson wrote:
Explicitly check kvm_shadow_root_alloced() when short-circuiting shadow paging metadata allocations and skip setting "shadow_root_alloced" if and only if its already true, i.e. set it when short-circuiting because TDP is disabled. This fixes a benign bug where KVM would always take slots_arch_lock when allocating a shadow root due to "shadow_root_alloced" never being set. Opportunistically add comments to call out that not freeing successful allocations on failure is intentional, and that freeing on failure isn't straightforward so as to discourage incorrect cleanups in the future. Fixes: 73f122c4f06f ("KVM: cleanup allocation of rmaps and page tracking data") Signed-off-by: Sean Christopherson<seanjc@xxxxxxxxxx> --- Essentially code review for "KVM: cleanup allocation of rmaps and page tracking data", which AFAICT didn't get posted (because it came in via a a merge?).
It didn't get posted because it is not merged yet - it's basically David Steven's v3 merged into kvm/queue for him to take a look at all the kvm/master and kvm/next juggling. Thanks for looking at it already, I've squashed the fix in and will post it shortly.
Paolo