[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d46320a2-7381-a46a-42e5-6bfa75321d31@redhat.com>
Date: Tue, 16 Mar 2021 14:52:28 +1100
From: Gavin Shan <gshan@...hat.com>
To: Keqian Zhu <zhukeqian1@...wei.com>, kvmarm@...ts.cs.columbia.edu
Cc: maz@...nel.org, will@...nel.org, linux-kernel@...r.kernel.org,
shan.gavin@...il.com
Subject: Re: [PATCH 2/4] KVM: arm64: Use find_vma_intersection()
Hi Keqian,
On 3/15/21 8:42 PM, Gavin Shan wrote:
> On 3/15/21 7:04 PM, Keqian Zhu wrote:
>> On 2021/3/15 12:18, Gavin Shan wrote:
>>> find_vma_intersection() has been existing to search the intersected
>>> vma. This uses the function where it's applicable, to simplify the
>>> code.
>>>
>>> Signed-off-by: Gavin Shan <gshan@...hat.com>
>>> ---
>>> arch/arm64/kvm/mmu.c | 10 ++++++----
>>> 1 file changed, 6 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/arch/arm64/kvm/mmu.c b/arch/arm64/kvm/mmu.c
>>> index 84e70f953de6..286b603ed0d3 100644
>>> --- a/arch/arm64/kvm/mmu.c
>>> +++ b/arch/arm64/kvm/mmu.c
>>> @@ -421,10 +421,11 @@ static void stage2_unmap_memslot(struct kvm *kvm,
>>> * +--------------------------------------------+
>>> */
>>> do {
>>> - struct vm_area_struct *vma = find_vma(current->mm, hva);
>>> + struct vm_area_struct *vma;
>>> hva_t vm_start, vm_end;
>>> - if (!vma || vma->vm_start >= reg_end)
>>> + vma = find_vma_intersection(current->mm, hva, reg_end);
>> Nit: Keep a same style may be better(Assign vma when declare it).
>> Other looks good to me.
>>
>
> Yeah, I agree. I will adjust the code in v2 and included your r-b.
> Thanks for your time to review.
>
After rechecking the code, I think it'd better to keep current style
because there is a follow-on validation on @vma. Keeping them together
seems a good idea. I think it wouldn't a big deal to you. So I will
keep current style with your r-b in v2.
vma = find_vma_intersection(current->mm, hva, reg_end);
if (!vma)
break;
Thanks,
Gavin
>>> + if (!vma)
>>> break;
>>> /*
>>> @@ -1330,10 +1331,11 @@ int kvm_arch_prepare_memory_region(struct kvm *kvm,
>>> * +--------------------------------------------+
>>> */
>>> do {
>>> - struct vm_area_struct *vma = find_vma(current->mm, hva);
>>> + struct vm_area_struct *vma;
>>> hva_t vm_start, vm_end;
>>> - if (!vma || vma->vm_start >= reg_end)
>>> + vma = find_vma_intersection(current->mm, hva, reg_end);
>>> + if (!vma)
>>> break;
>>> /*
>>>
>>
>
Powered by blists - more mailing lists