# git rev-parse -q --verify 200a8ef398b452a9ba7e4a45b9fa1abf9b9b298f^{commit} 200a8ef398b452a9ba7e4a45b9fa1abf9b9b298f already have revision, skipping fetch # git checkout -q -f -B kisskb 200a8ef398b452a9ba7e4a45b9fa1abf9b9b298f # git clean -qxdf # < git log -1 # commit 200a8ef398b452a9ba7e4a45b9fa1abf9b9b298f # Author: Daniel Axtens # Date: Thu Feb 21 14:03:45 2019 +0000 # # powerpc: KASAN for 64bit Book3E # # Wire up KASAN. Only outline instrumentation is supported. # # The KASAN shadow area is mapped into vmemmap space: # 0x8000 0400 0000 0000 to 0x8000 0600 0000 0000. # To do this we require that vmemmap be disabled. (This is the default # in the kernel config that QorIQ provides for the machine in their # SDK anyway - they use flat memory.) # # Only the kernel linear mapping (0xc000...) is checked. The vmalloc and # ioremap areas (also in 0x800...) are all mapped to a zero page. As # with the Book3S hash series, this requires overriding the memory <-> # shadow mapping. # # Also, as with both previous 64-bit series, early instrumentation is not # supported. It would allow us to drop the kasan_arch_is_ready() # hook in the KASAN core, but it's tricky to get it set up early enough: # we need it setup before the first call to instrumented code like printk(). # Perhaps in the future. # # Only KASAN_MINIMAL works. # # Lightly tested on e6500. KVM, kexec and xmon have not been tested. # # The test_kasan module fires warnings as expected, except for the # following tests: # # - Expected/by design: # kasan test: memcg_accounted_kmem_cache allocate memcg accounted object # # - Due to only supporting KASAN_MINIMAL: # kasan test: kasan_stack_oob out-of-bounds on stack # kasan test: kasan_global_oob out-of-bounds global variable # kasan test: kasan_alloca_oob_left out-of-bounds to left on alloca # kasan test: kasan_alloca_oob_right out-of-bounds to right on alloca # kasan test: use_after_scope_test use-after-scope on int # kasan test: use_after_scope_test use-after-scope on array # # Thanks to those who have done the heavy lifting over the past several years: # - Christophe's 32 bit series: https://lists.ozlabs.org/pipermail/linuxppc-dev/2019-February/185379.html # - Aneesh's Book3S hash series: https://lwn.net/Articles/655642/ # - Balbir's Book3S radix series: https://patchwork.ozlabs.org/patch/795211/ # # Cc: Christophe Leroy # Cc: Aneesh Kumar K.V # Cc: Balbir Singh # Signed-off-by: Daniel Axtens # Signed-off-by: Christophe Leroy # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --version # < git log --format=%s --max-count=1 200a8ef398b452a9ba7e4a45b9fa1abf9b9b298f # < make -s -j 80 ARCH=powerpc O=/kisskb/build/chleroy_ps3_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- ps3_defconfig # make -s -j 80 ARCH=powerpc O=/kisskb/build/chleroy_ps3_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- /kisskb/src/arch/powerpc/lib/mem_64.S: Assembler messages: /kisskb/src/arch/powerpc/lib/mem_64.S:35: Error: unrecognized opcode: `_global_kasan(memset)' /kisskb/src/arch/powerpc/lib/mem_64.S:100: Error: unrecognized opcode: `export_symbol_kasan(memset)' /kisskb/src/arch/powerpc/lib/mem_64.S:102: Error: unrecognized opcode: `_global_toc_kasan(memmove)' /kisskb/src/arch/powerpc/lib/mem_64.S:143: Error: unrecognized opcode: `export_symbol_kasan(memmove)' make[3]: *** [/kisskb/src/scripts/Makefile.build:367: arch/powerpc/lib/mem_64.o] Error 1 make[3]: *** Waiting for unfinished jobs.... /kisskb/src/arch/powerpc/lib/memcpy_64.S: Assembler messages: /kisskb/src/arch/powerpc/lib/memcpy_64.S:21: Error: unrecognized opcode: `_global_toc_kasan(memcpy)' /kisskb/src/arch/powerpc/lib/memcpy_64.S:232: Error: unrecognized opcode: `export_symbol_kasan(memcpy)' make[3]: *** [/kisskb/src/scripts/Makefile.build:367: arch/powerpc/lib/memcpy_64.o] Error 1 make[2]: *** [/kisskb/src/scripts/Makefile.build:492: arch/powerpc/lib] Error 2 make[2]: *** Waiting for unfinished jobs.... In file included from /kisskb/src/arch/powerpc/include/asm/kasan.h:19:0, from /kisskb/src/arch/powerpc/kernel/setup-common.c:70: /kisskb/src/arch/powerpc/include/asm/pgtable-types.h:9:37: error: conflicting types for 'pte_t' typedef struct { pte_basic_t pte; } pte_t; ^ In file included from /kisskb/src/arch/powerpc/include/asm/page.h:305:0, from /kisskb/src/arch/powerpc/include/asm/book3s/64/mmu.h:5, from /kisskb/src/arch/powerpc/include/asm/mmu.h:360, from /kisskb/src/arch/powerpc/include/asm/lppaca.h:36, from /kisskb/src/arch/powerpc/include/asm/paca.h:21, from /kisskb/src/arch/powerpc/include/asm/current.h:16, from /kisskb/src/include/linux/sched.h:12, from /kisskb/src/arch/powerpc/kernel/setup-common.c:17: /kisskb/src/arch/powerpc/include/asm/pgtable-be-types.h:8:32: note: previous declaration of 'pte_t' was here typedef struct { __be64 pte; } pte_t; ^ In file included from /kisskb/src/arch/powerpc/include/asm/kasan.h:19:0, from /kisskb/src/arch/powerpc/kernel/setup-common.c:70: /kisskb/src/arch/powerpc/include/asm/pgtable-types.h:11:0: error: "__pte" redefined [-Werror] #define __pte(x) ((pte_t) { (x) }) ^ In file included from /kisskb/src/arch/powerpc/include/asm/page.h:305:0, from /kisskb/src/arch/powerpc/include/asm/book3s/64/mmu.h:5, from /kisskb/src/arch/powerpc/include/asm/mmu.h:360, from /kisskb/src/arch/powerpc/include/asm/lppaca.h:36, from /kisskb/src/arch/powerpc/include/asm/paca.h:21, from /kisskb/src/arch/powerpc/include/asm/current.h:16, from /kisskb/src/include/linux/sched.h:12, from /kisskb/src/arch/powerpc/kernel/setup-common.c:17: /kisskb/src/arch/powerpc/include/asm/pgtable-be-types.h:9:0: note: this is the location of the previous definition #define __pte(x) ((pte_t) { cpu_to_be64(x) }) ^ In file included from /kisskb/src/arch/powerpc/include/asm/kasan.h:19:0, from /kisskb/src/arch/powerpc/kernel/setup-common.c:70: /kisskb/src/arch/powerpc/include/asm/pgtable-types.h:12:27: error: conflicting types for 'pte_val' static inline pte_basic_t pte_val(pte_t x) ^ In file included from /kisskb/src/arch/powerpc/include/asm/page.h:305:0, from /kisskb/src/arch/powerpc/include/asm/book3s/64/mmu.h:5, from /kisskb/src/arch/powerpc/include/asm/mmu.h:360, from /kisskb/src/arch/powerpc/include/asm/lppaca.h:36, from /kisskb/src/arch/powerpc/include/asm/paca.h:21, from /kisskb/src/arch/powerpc/include/asm/current.h:16, from /kisskb/src/include/linux/sched.h:12, from /kisskb/src/arch/powerpc/kernel/setup-common.c:17: /kisskb/src/arch/powerpc/include/asm/pgtable-be-types.h:11:29: note: previous definition of 'pte_val' was here static inline unsigned long pte_val(pte_t x) ^ In file included from /kisskb/src/arch/powerpc/include/asm/kasan.h:19:0, from /kisskb/src/arch/powerpc/kernel/setup-common.c:70: /kisskb/src/arch/powerpc/include/asm/pgtable-types.h:19:39: error: conflicting types for 'pmd_t' typedef struct { unsigned long pmd; } pmd_t; ^ In file included from /kisskb/src/arch/powerpc/include/asm/page.h:305:0, from /kisskb/src/arch/powerpc/include/asm/book3s/64/mmu.h:5, from /kisskb/src/arch/powerpc/include/asm/mmu.h:360, from /kisskb/src/arch/powerpc/include/asm/lppaca.h:36, from /kisskb/src/arch/powerpc/include/asm/paca.h:21, from /kisskb/src/arch/powerpc/include/asm/current.h:16, from /kisskb/src/include/linux/sched.h:12, from /kisskb/src/arch/powerpc/kernel/setup-common.c:17: /kisskb/src/arch/powerpc/include/asm/pgtable-be-types.h:23:32: note: previous declaration of 'pmd_t' was here typedef struct { __be64 pmd; } pmd_t; ^ In file included from /kisskb/src/arch/powerpc/include/asm/kasan.h:19:0, from /kisskb/src/arch/powerpc/kernel/setup-common.c:70: /kisskb/src/arch/powerpc/include/asm/pgtable-types.h:20:0: error: "__pmd" redefined [-Werror] #define __pmd(x) ((pmd_t) { (x) }) ^ In file included from /kisskb/src/arch/powerpc/include/asm/page.h:305:0, from /kisskb/src/arch/powerpc/include/asm/book3s/64/mmu.h:5, from /kisskb/src/arch/powerpc/include/asm/mmu.h:360, from /kisskb/src/arch/powerpc/include/asm/lppaca.h:36, from /kisskb/src/arch/powerpc/include/asm/paca.h:21, from /kisskb/src/arch/powerpc/include/asm/current.h:16, from /kisskb/src/include/linux/sched.h:12, from /kisskb/src/arch/powerpc/kernel/setup-common.c:17: /kisskb/src/arch/powerpc/include/asm/pgtable-be-types.h:24:0: note: this is the location of the previous definition #define __pmd(x) ((pmd_t) { cpu_to_be64(x) }) ^ In file included from /kisskb/src/arch/powerpc/include/asm/kasan.h:19:0, from /kisskb/src/arch/powerpc/kernel/setup-common.c:70: /kisskb/src/arch/powerpc/include/asm/pgtable-types.h:21:29: error: conflicting types for 'pmd_val' static inline unsigned long pmd_val(pmd_t x) ^ In file included from /kisskb/src/arch/powerpc/include/asm/page.h:305:0, from /kisskb/src/arch/powerpc/include/asm/book3s/64/mmu.h:5, from /kisskb/src/arch/powerpc/include/asm/mmu.h:360, from /kisskb/src/arch/powerpc/include/asm/lppaca.h:36, from /kisskb/src/arch/powerpc/include/asm/paca.h:21, from /kisskb/src/arch/powerpc/include/asm/current.h:16, from /kisskb/src/include/linux/sched.h:12, from /kisskb/src/arch/powerpc/kernel/setup-common.c:17: /kisskb/src/arch/powerpc/include/asm/pgtable-be-types.h:26:29: note: previous definition of 'pmd_val' was here static inline unsigned long pmd_val(pmd_t x) ^ In file included from /kisskb/src/arch/powerpc/include/asm/kasan.h:19:0, from /kisskb/src/arch/powerpc/kernel/setup-common.c:70: /kisskb/src/arch/powerpc/include/asm/pgtable-types.h:31:39: error: conflicting types for 'pud_t' typedef struct { unsigned long pud; } pud_t; ^ In file included from /kisskb/src/arch/powerpc/include/asm/page.h:305:0, from /kisskb/src/arch/powerpc/include/asm/book3s/64/mmu.h:5, from /kisskb/src/arch/powerpc/include/asm/mmu.h:360, from /kisskb/src/arch/powerpc/include/asm/lppaca.h:36, from /kisskb/src/arch/powerpc/include/asm/paca.h:21, from /kisskb/src/arch/powerpc/include/asm/current.h:16, from /kisskb/src/include/linux/sched.h:12, from /kisskb/src/arch/powerpc/kernel/setup-common.c:17: /kisskb/src/arch/powerpc/include/asm/pgtable-be-types.h:41:32: note: previous declaration of 'pud_t' was here typedef struct { __be64 pud; } pud_t; ^ In file included from /kisskb/src/arch/powerpc/include/asm/kasan.h:19:0, from /kisskb/src/arch/powerpc/kernel/setup-common.c:70: /kisskb/src/arch/powerpc/include/asm/pgtable-types.h:32:0: error: "__pud" redefined [-Werror] #define __pud(x) ((pud_t) { (x) }) ^ In file included from /kisskb/src/arch/powerpc/include/asm/page.h:305:0, from /kisskb/src/arch/powerpc/include/asm/book3s/64/mmu.h:5, from /kisskb/src/arch/powerpc/include/asm/mmu.h:360, from /kisskb/src/arch/powerpc/include/asm/lppaca.h:36, from /kisskb/src/arch/powerpc/include/asm/paca.h:21, from /kisskb/src/arch/powerpc/include/asm/current.h:16, from /kisskb/src/include/linux/sched.h:12, from /kisskb/src/arch/powerpc/kernel/setup-common.c:17: /kisskb/src/arch/powerpc/include/asm/pgtable-be-types.h:42:0: note: this is the location of the previous definition #define __pud(x) ((pud_t) { cpu_to_be64(x) }) ^ In file included from /kisskb/src/arch/powerpc/include/asm/kasan.h:19:0, from /kisskb/src/arch/powerpc/kernel/setup-common.c:70: /kisskb/src/arch/powerpc/include/asm/pgtable-types.h:33:29: error: conflicting types for 'pud_val' static inline unsigned long pud_val(pud_t x) ^ In file included from /kisskb/src/arch/powerpc/include/asm/page.h:305:0, from /kisskb/src/arch/powerpc/include/asm/book3s/64/mmu.h:5, from /kisskb/src/arch/powerpc/include/asm/mmu.h:360, from /kisskb/src/arch/powerpc/include/asm/lppaca.h:36, from /kisskb/src/arch/powerpc/include/asm/paca.h:21, from /kisskb/src/arch/powerpc/include/asm/current.h:16, from /kisskb/src/include/linux/sched.h:12, from /kisskb/src/arch/powerpc/kernel/setup-common.c:17: /kisskb/src/arch/powerpc/include/asm/pgtable-be-types.h:44:29: note: previous definition of 'pud_val' was here static inline unsigned long pud_val(pud_t x) ^ In file included from /kisskb/src/arch/powerpc/include/asm/kasan.h:19:0, from /kisskb/src/arch/powerpc/kernel/setup-common.c:70: /kisskb/src/arch/powerpc/include/asm/pgtable-types.h:41:39: error: conflicting types for 'pgd_t' typedef struct { unsigned long pgd; } pgd_t; ^ In file included from /kisskb/src/arch/powerpc/include/asm/page.h:305:0, from /kisskb/src/arch/powerpc/include/asm/book3s/64/mmu.h:5, from /kisskb/src/arch/powerpc/include/asm/mmu.h:360, from /kisskb/src/arch/powerpc/include/asm/lppaca.h:36, from /kisskb/src/arch/powerpc/include/asm/paca.h:21, from /kisskb/src/arch/powerpc/include/asm/current.h:16, from /kisskb/src/include/linux/sched.h:12, from /kisskb/src/arch/powerpc/kernel/setup-common.c:17: /kisskb/src/arch/powerpc/include/asm/pgtable-be-types.h:58:32: note: previous declaration of 'pgd_t' was here typedef struct { __be64 pgd; } pgd_t; ^ In file included from /kisskb/src/arch/powerpc/include/asm/kasan.h:19:0, from /kisskb/src/arch/powerpc/kernel/setup-common.c:70: /kisskb/src/arch/powerpc/include/asm/pgtable-types.h:42:0: error: "__pgd" redefined [-Werror] #define __pgd(x) ((pgd_t) { (x) }) ^ In file included from /kisskb/src/arch/powerpc/include/asm/page.h:305:0, from /kisskb/src/arch/powerpc/include/asm/book3s/64/mmu.h:5, from /kisskb/src/arch/powerpc/include/asm/mmu.h:360, from /kisskb/src/arch/powerpc/include/asm/lppaca.h:36, from /kisskb/src/arch/powerpc/include/asm/paca.h:21, from /kisskb/src/arch/powerpc/include/asm/current.h:16, from /kisskb/src/include/linux/sched.h:12, from /kisskb/src/arch/powerpc/kernel/setup-common.c:17: /kisskb/src/arch/powerpc/include/asm/pgtable-be-types.h:59:0: note: this is the location of the previous definition #define __pgd(x) ((pgd_t) { cpu_to_be64(x) }) ^ In file included from /kisskb/src/arch/powerpc/include/asm/kasan.h:19:0, from /kisskb/src/arch/powerpc/kernel/setup-common.c:70: /kisskb/src/arch/powerpc/include/asm/pgtable-types.h:43:29: error: conflicting types for 'pgd_val' static inline unsigned long pgd_val(pgd_t x) ^ In file included from /kisskb/src/arch/powerpc/include/asm/page.h:305:0, from /kisskb/src/arch/powerpc/include/asm/book3s/64/mmu.h:5, from /kisskb/src/arch/powerpc/include/asm/mmu.h:360, from /kisskb/src/arch/powerpc/include/asm/lppaca.h:36, from /kisskb/src/arch/powerpc/include/asm/paca.h:21, from /kisskb/src/arch/powerpc/include/asm/current.h:16, from /kisskb/src/include/linux/sched.h:12, from /kisskb/src/arch/powerpc/kernel/setup-common.c:17: /kisskb/src/arch/powerpc/include/asm/pgtable-be-types.h:61:29: note: previous definition of 'pgd_val' was here static inline unsigned long pgd_val(pgd_t x) ^ In file included from /kisskb/src/arch/powerpc/include/asm/kasan.h:19:0, from /kisskb/src/arch/powerpc/kernel/setup-common.c:70: /kisskb/src/arch/powerpc/include/asm/pgtable-types.h:49:42: error: conflicting types for 'pgprot_t' typedef struct { unsigned long pgprot; } pgprot_t; ^ In file included from /kisskb/src/arch/powerpc/include/asm/page.h:305:0, from /kisskb/src/arch/powerpc/include/asm/book3s/64/mmu.h:5, from /kisskb/src/arch/powerpc/include/asm/mmu.h:360, from /kisskb/src/arch/powerpc/include/asm/lppaca.h:36, from /kisskb/src/arch/powerpc/include/asm/paca.h:21, from /kisskb/src/arch/powerpc/include/asm/current.h:16, from /kisskb/src/include/linux/sched.h:12, from /kisskb/src/arch/powerpc/kernel/setup-common.c:17: /kisskb/src/arch/powerpc/include/asm/pgtable-be-types.h:72:42: note: previous declaration of 'pgprot_t' was here typedef struct { unsigned long pgprot; } pgprot_t; ^ In file included from /kisskb/src/arch/powerpc/include/asm/kasan.h:19:0, from /kisskb/src/arch/powerpc/kernel/setup-common.c:70: /kisskb/src/arch/powerpc/include/asm/pgtable-types.h:60:31: error: conflicting types for 'real_pte_t' typedef struct { pte_t pte; } real_pte_t; ^ In file included from /kisskb/src/arch/powerpc/include/asm/page.h:305:0, from /kisskb/src/arch/powerpc/include/asm/book3s/64/mmu.h:5, from /kisskb/src/arch/powerpc/include/asm/mmu.h:360, from /kisskb/src/arch/powerpc/include/asm/lppaca.h:36, from /kisskb/src/arch/powerpc/include/asm/paca.h:21, from /kisskb/src/arch/powerpc/include/asm/current.h:16, from /kisskb/src/include/linux/sched.h:12, from /kisskb/src/arch/powerpc/kernel/setup-common.c:17: /kisskb/src/arch/powerpc/include/asm/pgtable-be-types.h:83:31: note: previous declaration of 'real_pte_t' was here typedef struct { pte_t pte; } real_pte_t; ^ In file included from /kisskb/src/arch/powerpc/include/asm/kasan.h:19:0, from /kisskb/src/arch/powerpc/kernel/setup-common.c:70: /kisskb/src/arch/powerpc/include/asm/pgtable-types.h:66:20: error: conflicting types for 'pte_xchg' static inline bool pte_xchg(pte_t *ptep, pte_t old, pte_t new) ^ In file included from /kisskb/src/arch/powerpc/include/asm/page.h:305:0, from /kisskb/src/arch/powerpc/include/asm/book3s/64/mmu.h:5, from /kisskb/src/arch/powerpc/include/asm/mmu.h:360, from /kisskb/src/arch/powerpc/include/asm/lppaca.h:36, from /kisskb/src/arch/powerpc/include/asm/paca.h:21, from /kisskb/src/arch/powerpc/include/asm/current.h:16, from /kisskb/src/include/linux/sched.h:12, from /kisskb/src/arch/powerpc/kernel/setup-common.c:17: /kisskb/src/arch/powerpc/include/asm/pgtable-be-types.h:86:20: note: previous definition of 'pte_xchg' was here static inline bool pte_xchg(pte_t *ptep, pte_t old, pte_t new) ^ In file included from /kisskb/src/arch/powerpc/include/asm/kasan.h:19:0, from /kisskb/src/arch/powerpc/kernel/setup-common.c:70: /kisskb/src/arch/powerpc/include/asm/pgtable-types.h:75:38: error: conflicting types for 'hugepd_t' typedef struct { unsigned long pd; } hugepd_t; ^ In file included from /kisskb/src/arch/powerpc/include/asm/page.h:305:0, from /kisskb/src/arch/powerpc/include/asm/book3s/64/mmu.h:5, from /kisskb/src/arch/powerpc/include/asm/mmu.h:360, from /kisskb/src/arch/powerpc/include/asm/lppaca.h:36, from /kisskb/src/arch/powerpc/include/asm/paca.h:21, from /kisskb/src/arch/powerpc/include/asm/current.h:16, from /kisskb/src/include/linux/sched.h:12, from /kisskb/src/arch/powerpc/kernel/setup-common.c:17: /kisskb/src/arch/powerpc/include/asm/pgtable-be-types.h:109:33: note: previous declaration of 'hugepd_t' was here typedef struct { __be64 pdbe; } hugepd_t; ^ In file included from /kisskb/src/arch/powerpc/include/asm/kasan.h:19:0, from /kisskb/src/arch/powerpc/kernel/setup-common.c:70: /kisskb/src/arch/powerpc/include/asm/pgtable-types.h:76:0: error: "__hugepd" redefined [-Werror] #define __hugepd(x) ((hugepd_t) { (x) }) ^ In file included from /kisskb/src/arch/powerpc/include/asm/page.h:305:0, from /kisskb/src/arch/powerpc/include/asm/book3s/64/mmu.h:5, from /kisskb/src/arch/powerpc/include/asm/mmu.h:360, from /kisskb/src/arch/powerpc/include/asm/lppaca.h:36, from /kisskb/src/arch/powerpc/include/asm/paca.h:21, from /kisskb/src/arch/powerpc/include/asm/current.h:16, from /kisskb/src/include/linux/sched.h:12, from /kisskb/src/arch/powerpc/kernel/setup-common.c:17: /kisskb/src/arch/powerpc/include/asm/pgtable-be-types.h:110:0: note: this is the location of the previous definition #define __hugepd(x) ((hugepd_t) { cpu_to_be64(x) }) ^ In file included from /kisskb/src/arch/powerpc/include/asm/kasan.h:19:0, from /kisskb/src/arch/powerpc/kernel/setup-common.c:70: /kisskb/src/arch/powerpc/include/asm/pgtable-types.h:77:29: error: conflicting types for 'hpd_val' static inline unsigned long hpd_val(hugepd_t x) ^ In file included from /kisskb/src/arch/powerpc/include/asm/page.h:305:0, from /kisskb/src/arch/powerpc/include/asm/book3s/64/mmu.h:5, from /kisskb/src/arch/powerpc/include/asm/mmu.h:360, from /kisskb/src/arch/powerpc/include/asm/lppaca.h:36, from /kisskb/src/arch/powerpc/include/asm/paca.h:21, from /kisskb/src/arch/powerpc/include/asm/current.h:16, from /kisskb/src/include/linux/sched.h:12, from /kisskb/src/arch/powerpc/kernel/setup-common.c:17: /kisskb/src/arch/powerpc/include/asm/pgtable-be-types.h:112:29: note: previous definition of 'hpd_val' was here static inline unsigned long hpd_val(hugepd_t x) ^ cc1: all warnings being treated as errors make[3]: *** [/kisskb/src/scripts/Makefile.build:276: arch/powerpc/kernel/setup-common.o] Error 1 make[3]: *** Waiting for unfinished jobs.... make[2]: *** [/kisskb/src/scripts/Makefile.build:492: arch/powerpc/kernel] Error 2 make[1]: *** [/kisskb/src/Makefile:1043: arch/powerpc] Error 2 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:152: sub-make] Error 2 Command 'make -s -j 80 ARCH=powerpc O=/kisskb/build/chleroy_ps3_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/chleroy_ps3_defconfig_powerpc-gcc5 # Build took: 0:01:15.852175