• Arnd Bergmann's avatar
    MIPS: VDSO: avoid duplicate CAC_BASE definition · ad8387a6
    Arnd Bergmann authored
    commit 1742ac26 upstream.
    
    vdso.h includes <spaces.h> implicitly after defining CONFIG_32BITS.
    This defeats the override in mach-ip27/spaces.h, leading to
    a build error that shows up in kernelci.org:
    
    In file included from arch/mips/include/asm/mach-ip27/spaces.h:29:0,
                     from arch/mips/include/asm/page.h:12,
                     from arch/mips/vdso/vdso.h:26,
                     from arch/mips/vdso/gettimeofday.c:11:
    arch/mips/include/asm/mach-generic/spaces.h:28:0: error: "CAC_BASE" redefined [-Werror]
     #define CAC_BASE  _AC(0x80000000, UL)
    
    An earlier patch tried to make the second definition conditional,
    but that patch had the #ifdef in the wrong place, and would lead
    to another warning:
    
    arch/mips/include/asm/io.h: In function 'phys_to_virt':
    arch/mips/include/asm/io.h:138:9: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
    
    For all I can tell, there is no other reason than vdso32 to ever
    include this file with CONFIG_32BITS set, and the vdso itself should
    never refer to the base addresses as it is running in user space,
    so adding an #ifdef here is safe.
    
    Link: https://patchwork.kernel.org/patch/9418187/
    Fixes: 3ffc17d8 ("MIPS: Adjust MIPS64 CAC_BASE to reflect Config.K0")
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Cc: Paul Burton <paul.burton@imgtec.com>
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/15039/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    ad8387a6
spaces.h 1012 Bytes