Re: [PATCH] mm/hmm: fix unused variable warning in hmm_vma_walk_pud
From: Jerome Glisse
Date: Wed Mar 06 2019 - 11:08:54 EST
On Wed, Mar 06, 2019 at 12:00:55PM +0100, Arnd Bergmann wrote:
> Without CONFIG_HUGETLB_PAGE, the 'vma' variable is never referenced
> on x86, so we get this warning:
>
> mm/hmm.c: In function 'hmm_vma_walk_pud':
> mm/hmm.c:764:25: error: unused variable 'vma' [-Werror=unused-variable]
>
> Remove the local variable by open-coding walk-vma in the only
> place it is used.
>
> Reported-by: John Hubbard <jhubbard@xxxxxxxxxx>
> Suggested-by: John Hubbard <jhubbard@xxxxxxxxxx>
> Fixes: 1bed8a07a556 ("mm/hmm: allow to mirror vma of a file on a DAX backed filesystem")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
Reviewed-by: Jérôme Glisse <jglisse@xxxxxxxxxx>
> ---
> Andrew, you already took a similar patch from me for a different
> warning in the same file. Feel free to fold both patches into
> one if you haven't already forwarded the first patch, or leave
> them separate. Note that the warnings were introduced by different
> patches from the same series originally.
> ---
> mm/hmm.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/mm/hmm.c b/mm/hmm.c
> index c4beb1628cad..c1cbe82d12b5 100644
> --- a/mm/hmm.c
> +++ b/mm/hmm.c
> @@ -761,7 +761,6 @@ static int hmm_vma_walk_pud(pud_t *pudp,
> {
> struct hmm_vma_walk *hmm_vma_walk = walk->private;
> struct hmm_range *range = hmm_vma_walk->range;
> - struct vm_area_struct *vma = walk->vma;
> unsigned long addr = start, next;
> pmd_t *pmdp;
> pud_t pud;
> @@ -807,7 +806,7 @@ static int hmm_vma_walk_pud(pud_t *pudp,
> return 0;
> }
>
> - split_huge_pud(vma, pudp, addr);
> + split_huge_pud(walk->vma, pudp, addr);
> if (pud_none(*pudp))
> goto again;
>
> --
> 2.20.0
>