On Sat, May 21, 2022, Lai Jiangshan wrote: > From: Lai Jiangshan <jiangshan.ljs@xxxxxxxxxxxx> > > Remove the check of the return value of to_shadow_page() in > mmu_free_root_page(), kvm_mmu_free_guest_mode_roots(), is_unsync_root() > and is_tdp_mmu() because it can not return NULL. s/can not/can no longer, to make it very clear the to_shadow_page() _could_ return NULL in the past, but something changed. And please explain _why_ it can no longer return NULL, even if that's just a reference to kvm_mmu_alloc_local_shadow_page() or whatever it ends up being named. That can also tie into the obsolete sp handling. > Remove the check of the return value of to_shadow_page() in > is_page_fault_stale() and is_obsolete_root() because it can not return > NULL and the obsoleting for local shadow page is already handled by > a different way. > > When the obsoleting process is done, all the obsoleted non-local shadow > pages are already unlinked from the local shadow pages by the help of > the parent rmap from the children and the local shadow pages become > theoretically valid again. The local shadow page can be freed if > is_obsolete_sp() return true, or be reused if is_obsolete_sp() becomes > false. > > Reviewed-by: David Matlack <dmatlack@xxxxxxxxxx> > Signed-off-by: Lai Jiangshan <jiangshan.ljs@xxxxxxxxxxxx> > ---