This is a note to let you know that I've just added the patch titled MIPS: VDSO: avoid duplicate CAC_BASE definition to the 4.9-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: mips-vdso-avoid-duplicate-cac_base-definition.patch and it can be found in the queue-4.9 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From 1742ac265046f34223e06d5d283496f0291be259 Mon Sep 17 00:00:00 2001 From: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue, 17 Jan 2017 16:18:36 +0100 Subject: MIPS: VDSO: avoid duplicate CAC_BASE definition From: Arnd Bergmann <arnd@xxxxxxxx> commit 1742ac265046f34223e06d5d283496f0291be259 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: 3ffc17d8768b ("MIPS: Adjust MIPS64 CAC_BASE to reflect Config.K0") Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/15039/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- arch/mips/include/asm/mach-ip27/spaces.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) --- a/arch/mips/include/asm/mach-ip27/spaces.h +++ b/arch/mips/include/asm/mach-ip27/spaces.h @@ -12,14 +12,16 @@ /* * IP27 uses the R10000's uncached attribute feature. Attribute 3 selects - * uncached memory addressing. + * uncached memory addressing. Hide the definitions on 32-bit compilation + * of the compat-vdso code. */ - +#ifdef CONFIG_64BIT #define HSPEC_BASE 0x9000000000000000 #define IO_BASE 0x9200000000000000 #define MSPEC_BASE 0x9400000000000000 #define UNCAC_BASE 0x9600000000000000 #define CAC_BASE 0xa800000000000000 +#endif #define TO_MSPEC(x) (MSPEC_BASE | ((x) & TO_PHYS_MASK)) #define TO_HSPEC(x) (HSPEC_BASE | ((x) & TO_PHYS_MASK)) Patches currently in stable-queue which might be from arnd@xxxxxxxx are queue-4.9/mips-ip27-disable-qlge-driver-in-defconfig.patch queue-4.9/bcm63xx_enet-avoid-uninitialized-variable-warning.patch queue-4.9/mips-update-ip27_defconfig-for-scsi_dh-change.patch queue-4.9/mtd-pmcmsp-use-kstrndup-instead-of-kmalloc-strncpy.patch queue-4.9/cpmac-remove-hopeless-warning.patch queue-4.9/mips-vdso-avoid-duplicate-cac_base-definition.patch queue-4.9/mips-ip22-fix-ip28-build-for-modern-gcc.patch queue-4.9/mips-update-lemote2f_defconfig-for-cpu_freq_stat-change.patch queue-4.9/crypto-improve-gcc-optimization-flags-for-serpent-and-wp512.patch queue-4.9/mips-ralink-remove-unused-rt-_wdt_reset-functions.patch queue-4.9/mips-ralink-remove-unused-timer-functions.patch queue-4.9/mips-update-defconfigs-for-nf_ct_proto_dccp-udplite-change.patch