lkml.org 
[lkml]   [2019]   [May]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 4.14 021/167] arm64: Fix compiler warning from pte_unmap() with -Wunused-but-set-variable
    Date
    From: Qian Cai <cai@lca.pw>

    [ Upstream commit 74dd022f9e6260c3b5b8d15901d27ebcc5f21eda ]

    When building with -Wunused-but-set-variable, the compiler shouts about
    a number of pte_unmap() users, since this expands to an empty macro on
    arm64:

    | mm/gup.c: In function 'gup_pte_range':
    | mm/gup.c:1727:16: warning: variable 'ptem' set but not used
    | [-Wunused-but-set-variable]
    | mm/gup.c: At top level:
    | mm/memory.c: In function 'copy_pte_range':
    | mm/memory.c:821:24: warning: variable 'orig_dst_pte' set but not used
    | [-Wunused-but-set-variable]
    | mm/memory.c:821:9: warning: variable 'orig_src_pte' set but not used
    | [-Wunused-but-set-variable]
    | mm/swap_state.c: In function 'swap_ra_info':
    | mm/swap_state.c:641:15: warning: variable 'orig_pte' set but not used
    | [-Wunused-but-set-variable]
    | mm/madvise.c: In function 'madvise_free_pte_range':
    | mm/madvise.c:318:9: warning: variable 'orig_pte' set but not used
    | [-Wunused-but-set-variable]

    Rewrite pte_unmap() as a static inline function, which silences the
    warnings.

    Signed-off-by: Qian Cai <cai@lca.pw>
    Signed-off-by: Will Deacon <will.deacon@arm.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    arch/arm64/include/asm/pgtable.h | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h
    index aafea648a30ff..ee77556b01243 100644
    --- a/arch/arm64/include/asm/pgtable.h
    +++ b/arch/arm64/include/asm/pgtable.h
    @@ -420,6 +420,8 @@ static inline phys_addr_t pmd_page_paddr(pmd_t pmd)
    return pmd_val(pmd) & PHYS_MASK & (s32)PAGE_MASK;
    }

    +static inline void pte_unmap(pte_t *pte) { }
    +
    /* Find an entry in the third-level page table. */
    #define pte_index(addr) (((addr) >> PAGE_SHIFT) & (PTRS_PER_PTE - 1))

    @@ -428,7 +430,6 @@ static inline phys_addr_t pmd_page_paddr(pmd_t pmd)

    #define pte_offset_map(dir,addr) pte_offset_kernel((dir), (addr))
    #define pte_offset_map_nested(dir,addr) pte_offset_kernel((dir), (addr))
    -#define pte_unmap(pte) do { } while (0)
    #define pte_unmap_nested(pte) do { } while (0)

    #define pte_set_fixmap(addr) ((pte_t *)set_fixmap_offset(FIX_PTE, addr))
    --
    2.20.1
    \
     
     \ /
      Last update: 2019-05-22 21:41    [W:4.040 / U:2.248 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site