Re: [PATCH] Modify the check condition

From: Peter Zijlstra
Date: Sat Sep 18 2021 - 04:33:13 EST


On Sat, Sep 18, 2021 at 06:52:32AM +0000, cgel.zte@xxxxxxxxx wrote:
> From: Yang Guang <yang.guang5@xxxxxxxxxx>
>
> The vma may be NULL, and accessing the member of vma like "vma->vm_start"
> in calling follow_phys may occur segmentation fault.
> So it should check vma at beginning. If vma is null, it will return. And
> the if condition won't execute "vm->vm_flags".
>
> Signed-off-by: Yang Guang <yang.guang5@xxxxxxxxxx>
> ---
> arch/x86/mm/pat/memtype.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/mm/pat/memtype.c b/arch/x86/mm/pat/memtype.c
> index 4ba2a3ee4bce..b7108b37b754 100644
> --- a/arch/x86/mm/pat/memtype.c
> +++ b/arch/x86/mm/pat/memtype.c
> @@ -1089,7 +1089,7 @@ void untrack_pfn(struct vm_area_struct *vma, unsigned long pfn,
> resource_size_t paddr;
> unsigned long prot;
>
> - if (vma && !(vma->vm_flags & VM_PAT))
> + if (!(vma) || !(vma->vm_flags & VM_PAT))
> return;

Yet another braindead patch that shows you don't actually understand C.