From: Lai Jiangshan <jiangshan.ljs@xxxxxxxxxxxx> Parents added into the struct kvm_mmu_pages are never used. Signed-off-by: Lai Jiangshan <jiangshan.ljs@xxxxxxxxxxxx> --- arch/x86/kvm/mmu/mmu.c | 36 +++++------------------------------- 1 file changed, 5 insertions(+), 31 deletions(-) diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c index a5563e5ee2e5..304a515bd073 100644 --- a/arch/x86/kvm/mmu/mmu.c +++ b/arch/x86/kvm/mmu/mmu.c @@ -1751,10 +1751,9 @@ static int mmu_pages_add(struct kvm_mmu_pages *pvec, struct kvm_mmu_page *sp) { int i; - if (sp->unsync) - for (i=0; i < pvec->nr; i++) - if (pvec->sp[i] == sp) - return 0; + for (i=0; i < pvec->nr; i++) + if (pvec->sp[i] == sp) + return 0; pvec->sp[pvec->nr] = sp; pvec->nr++; @@ -1785,9 +1784,6 @@ static int __mmu_unsync_walk_and_clear(struct kvm_mmu_page *sp, child = to_shadow_page(ent & PT64_BASE_ADDR_MASK); if (child->unsync_children) { - if (mmu_pages_add(pvec, child)) - return -ENOSPC; - ret = __mmu_unsync_walk_and_clear(child, pvec); if (ret < 0) return ret; @@ -1818,7 +1814,6 @@ static int mmu_unsync_walk_and_clear(struct kvm_mmu_page *sp, if (!sp->unsync_children) return 0; - mmu_pages_add(pvec, sp); return __mmu_unsync_walk_and_clear(sp, pvec); } @@ -1897,33 +1892,12 @@ static bool is_obsolete_sp(struct kvm *kvm, struct kvm_mmu_page *sp) static int mmu_pages_next(struct kvm_mmu_pages *pvec, int i) { - int n; - - for (n = i+1; n < pvec->nr; n++) { - struct kvm_mmu_page *sp = pvec->sp[n]; - int level = sp->role.level; - - if (level == PG_LEVEL_4K) - break; - - } - - return n; + return i + 1; } static int mmu_pages_first(struct kvm_mmu_pages *pvec) { - struct kvm_mmu_page *sp; - int level; - - if (pvec->nr == 0) - return 0; - - sp = pvec->sp[0]; - level = sp->role.level; - WARN_ON(level == PG_LEVEL_4K); - - return mmu_pages_next(pvec, 0); + return 0; } static int mmu_sync_children(struct kvm_vcpu *vcpu, -- 2.19.1.6.gb485710b