[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <9fcd1d25-ec4d-eebe-623f-cfeb48b6656f@intel.com>
Date: Tue, 13 Sep 2022 10:56:13 +0800
From: "Yang, Weijiang" <weijiang.yang@...el.com>
To: Emanuele Giuseppe Esposito <eesposit@...hat.com>
CC: Paolo Bonzini <pbonzini@...hat.com>,
Sean Christopherson <seanjc@...gle.com>,
Vitaly Kuznetsov <vkuznets@...hat.com>,
Wanpeng Li <wanpengli@...cent.com>,
Jim Mattson <jmattson@...gle.com>,
Joerg Roedel <joro@...tes.org>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
Dave Hansen <dave.hansen@...ux.intel.com>,
David Hildenbrand <david@...hat.com>,
"Maxim Levitsky" <mlevitsk@...hat.com>, <x86@...nel.org>,
"H. Peter Anvin" <hpa@...or.com>, <linux-kernel@...r.kernel.org>,
"kvm@...r.kernel.org" <kvm@...r.kernel.org>
Subject: Re: [RFC PATCH 5/9] kvm_main.c: split __kvm_set_memory_region logic
in kvm_check_mem and kvm_prepare_batch
On 9/9/2022 6:45 PM, Emanuele Giuseppe Esposito wrote:
> Just a function split. No functional change intended,
> except for the fact that kvm_prepare_batch() does not
> immediately call kvm_set_memslot() if batch->change is
> KVM_MR_DELETE, but delegates the caller (__kvm_set_memory_region).
>
>
> +static int kvm_check_memory_region(struct kvm *kvm,
> + const struct kvm_userspace_memory_region *mem,
> + struct kvm_internal_memory_region_list *batch)
> +{
> + int r;
> +
> + r = check_memory_region_flags(mem);
> + if (r)
> + return r;
>
> - r = kvm_set_memslot(kvm, batch);
> + r = kvm_check_mem(mem);
> if (r)
> - kfree(new);
> + return r;
> +
> + r = kvm_prepare_batch(kvm, mem, batch);
> + if (r && batch->new)
> + kfree(batch->new);
From the patch, r !=0 and batch->new !=NULL are exclusive, so free()
here is not reachable.
> +
> return r;
> }
[...]
>
Powered by blists - more mailing lists