# git rev-parse -q --verify 0f52b3a00c789569d7ed822b5a6b30f59a8d4393^{commit} 0f52b3a00c789569d7ed822b5a6b30f59a8d4393 already have revision, skipping fetch # git checkout -q -f -B kisskb 0f52b3a00c789569d7ed822b5a6b30f59a8d4393 # git clean -qxdf # < git log -1 # commit 0f52b3a00c789569d7ed822b5a6b30f59a8d4393 # Author: Mahesh Salgaonkar # Date: Thu Aug 23 10:26:08 2018 +0530 # # powerpc/mce: Fix SLB rebolting during MCE recovery path. # # The commit e7e81847478 ("powerpc/64s: move machine check SLB flushing # to mm/slb.c") introduced a bug in reloading bolted SLB entries. Unused # bolted entries are stored with .esid=0 in the slb_shadow area, and # that value is now used directly as the RB input to slbmte, which means # the RB[52:63] index field is set to 0, which causes SLB entry 0 to be # cleared. # # Fix this by storing the index bits in the unused bolted entries, which # directs the slbmte to the right place. # # The SLB shadow area is also used by the hypervisor, but PAPR is okay # with that, from LoPAPR v1.1, 14.11.1.3 SLB Shadow Buffer: # # Note: SLB is filled sequentially starting at index 0 # from the shadow buffer ignoring the contents of # RB field bits 52-63 # # Fixes: e7e81847478b ("powerpc/64s: move machine check SLB flushing to mm/slb.c") # Signed-off-by: Mahesh Salgaonkar # Signed-off-by: Nicholas Piggin # Reviewed-by: Nicholas Piggin # Signed-off-by: Michael Ellerman # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < git log --format=%s --max-count=1 0f52b3a00c789569d7ed822b5a6b30f59a8d4393 # < make -s -j 48 ARCH=powerpc O=/kisskb/build/powerpc-next_ppc32_allmodconfig_powerpc-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux- ppc32_allmodconfig # make -s -j 48 ARCH=powerpc O=/kisskb/build/powerpc-next_ppc32_allmodconfig_powerpc-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux- /kisskb/src/net/Makefile:24: CC cannot link executables. Skipping bpfilter. In file included from /kisskb/src/include/linux/bitmap.h:9, from /kisskb/src/include/linux/cpumask.h:12, from /kisskb/src/include/linux/rcupdate.h:44, from /kisskb/src/include/linux/rculist.h:11, from /kisskb/src/include/linux/pid.h:5, from /kisskb/src/include/linux/sched.h:14, from /kisskb/src/arch/powerpc/kernel/ptrace.c:19: In function 'memcpy', inlined from 'user_regset_copyin' at /kisskb/src/include/linux/regset.h:295:4, inlined from 'vr_set' at /kisskb/src/arch/powerpc/kernel/ptrace.c:619:9: /kisskb/src/include/linux/string.h:345:9: warning: '__builtin_memcpy' offset [-527, -529] is out of the bounds [0, 16] of object 'vrsave' with type 'union ' [-Warray-bounds] return __builtin_memcpy(p, q, size); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/powerpc/kernel/ptrace.c: In function 'vr_set': /kisskb/src/arch/powerpc/kernel/ptrace.c:614:5: note: 'vrsave' declared here } vrsave; ^~~~~~ In file included from /kisskb/src/include/linux/bitmap.h:9, from /kisskb/src/include/linux/cpumask.h:12, from /kisskb/src/include/linux/rcupdate.h:44, from /kisskb/src/include/linux/rculist.h:11, from /kisskb/src/include/linux/pid.h:5, from /kisskb/src/include/linux/sched.h:14, from /kisskb/src/arch/powerpc/kernel/ptrace.c:19: In function 'memcpy', inlined from 'user_regset_copyout' at /kisskb/src/include/linux/regset.h:270:4, inlined from 'vr_get' at /kisskb/src/arch/powerpc/kernel/ptrace.c:572:9: /kisskb/src/include/linux/string.h:345:9: warning: '__builtin_memcpy' offset [-527, -529] is out of the bounds [0, 16] of object 'vrsave' with type 'union ' [-Warray-bounds] return __builtin_memcpy(p, q, size); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/powerpc/kernel/ptrace.c: In function 'vr_get': /kisskb/src/arch/powerpc/kernel/ptrace.c:567:5: note: 'vrsave' declared here } vrsave; ^~~~~~ In file included from /kisskb/src/arch/powerpc/include/asm/book3s/pgtable.h:8, from /kisskb/src/arch/powerpc/include/asm/pgtable.h:18, from /kisskb/src/include/linux/hugetlb.h:12, from /kisskb/src/arch/powerpc/mm/dump_linuxpagetables.c:19: /kisskb/src/arch/powerpc/mm/dump_linuxpagetables.c: In function 'populate_markers': /kisskb/src/arch/powerpc/include/asm/book3s/32/pgtable.h:53:19: error: 'PKMAP_BASE' undeclared (first use in this function); did you mean 'AT_BASE'? #define KVIRT_TOP PKMAP_BASE ^~~~~~~~~~ /kisskb/src/arch/powerpc/include/asm/book3s/32/pgtable.h:64:23: note: in expansion of macro 'KVIRT_TOP' #define IOREMAP_TOP ((KVIRT_TOP - CONFIG_CONSISTENT_SIZE) & PAGE_MASK) ^~~~~~~~~ /kisskb/src/arch/powerpc/mm/dump_linuxpagetables.c:456:39: note: in expansion of macro 'IOREMAP_TOP' address_markers[i++].start_address = IOREMAP_TOP; ^~~~~~~~~~~ /kisskb/src/arch/powerpc/include/asm/book3s/32/pgtable.h:53:19: note: each undeclared identifier is reported only once for each function it appears in #define KVIRT_TOP PKMAP_BASE ^~~~~~~~~~ /kisskb/src/arch/powerpc/include/asm/book3s/32/pgtable.h:64:23: note: in expansion of macro 'KVIRT_TOP' #define IOREMAP_TOP ((KVIRT_TOP - CONFIG_CONSISTENT_SIZE) & PAGE_MASK) ^~~~~~~~~ /kisskb/src/arch/powerpc/mm/dump_linuxpagetables.c:456:39: note: in expansion of macro 'IOREMAP_TOP' address_markers[i++].start_address = IOREMAP_TOP; ^~~~~~~~~~~ /kisskb/src/arch/powerpc/mm/dump_linuxpagetables.c:464:39: error: implicit declaration of function 'PKMAP_ADDR'; did you mean 'PCI_IO_ADDR'? [-Werror=implicit-function-declaration] address_markers[i++].start_address = PKMAP_ADDR(LAST_PKMAP); ^~~~~~~~~~ PCI_IO_ADDR /kisskb/src/arch/powerpc/mm/dump_linuxpagetables.c:464:50: error: 'LAST_PKMAP' undeclared (first use in this function); did you mean 'LIST_HEAD'? address_markers[i++].start_address = PKMAP_ADDR(LAST_PKMAP); ^~~~~~~~~~ LIST_HEAD cc1: some warnings being treated as errors /kisskb/src/scripts/Makefile.build:317: recipe for target 'arch/powerpc/mm/dump_linuxpagetables.o' failed make[2]: *** [arch/powerpc/mm/dump_linuxpagetables.o] Error 1 make[2]: *** Waiting for unfinished jobs.... /kisskb/src/Makefile:1034: recipe for target 'arch/powerpc/mm' failed make[1]: *** [arch/powerpc/mm] Error 2 make[1]: *** Waiting for unfinished jobs.... /kisskb/src/arch/powerpc/kernel/head_32.S: Assembler messages: /kisskb/src/arch/powerpc/kernel/head_32.S:990: Warning: invalid register expression /kisskb/src/arch/powerpc/platforms/52xx/lite5200_sleep.S: Assembler messages: /kisskb/src/arch/powerpc/platforms/52xx/lite5200_sleep.S:184: Warning: invalid register expression In file included from /kisskb/src/include/linux/bitmap.h:9, from /kisskb/src/include/linux/nodemask.h:95, from /kisskb/src/include/linux/mmzone.h:17, from /kisskb/src/include/linux/gfp.h:6, from /kisskb/src/include/linux/umh.h:4, from /kisskb/src/include/linux/kmod.h:22, from /kisskb/src/include/linux/module.h:13, from /kisskb/src/kernel/debug/kdb/kdb_io.c:12: In function 'strncpy', inlined from 'kdb_getstr' at /kisskb/src/kernel/debug/kdb/kdb_io.c:446:3: /kisskb/src/include/linux/string.h:246:9: warning: '__builtin_strncpy' specified bound 256 equals destination size [-Wstringop-truncation] return __builtin_strncpy(p, q, size); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /kisskb/src/include/linux/bitmap.h:9, from /kisskb/src/include/linux/cpumask.h:12, from /kisskb/src/include/linux/rcupdate.h:44, from /kisskb/src/include/linux/rculist.h:11, from /kisskb/src/include/linux/pid.h:5, from /kisskb/src/include/linux/sched.h:14, from /kisskb/src/kernel/debug/kdb/kdb_support.c:15: In function 'strncpy', inlined from 'kallsyms_symbol_next' at /kisskb/src/kernel/debug/kdb/kdb_support.c:239:4: /kisskb/src/include/linux/string.h:246:9: warning: '__builtin_strncpy' specified bound depends on the length of the source argument [-Wstringop-overflow=] return __builtin_strncpy(p, q, size); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/kernel/debug/kdb/kdb_support.c: In function 'kallsyms_symbol_next': /kisskb/src/include/linux/string.h:267:10: note: length computed here return __builtin_strlen(p); ^~~~~~~~~~~~~~~~~~~ In file included from /kisskb/src/kernel/debug/kdb/kdb_main.c:16: In function 'strncpy', inlined from 'handle_ctrl_cmd' at /kisskb/src/kernel/debug/kdb/kdb_main.c:1106:3, inlined from 'kdb_local.isra.0' at /kisskb/src/kernel/debug/kdb/kdb_main.c:1323:10: /kisskb/src/include/linux/string.h:246:9: warning: '__builtin_strncpy' specified bound 200 equals destination size [-Wstringop-truncation] return __builtin_strncpy(p, q, size); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function 'strncpy', inlined from 'handle_ctrl_cmd' at /kisskb/src/kernel/debug/kdb/kdb_main.c:1111:3, inlined from 'kdb_local.isra.0' at /kisskb/src/kernel/debug/kdb/kdb_main.c:1323:10: /kisskb/src/include/linux/string.h:246:9: warning: '__builtin_strncpy' specified bound 200 equals destination size [-Wstringop-truncation] return __builtin_strncpy(p, q, size); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /kisskb/src/include/linux/bitmap.h:9, from /kisskb/src/include/linux/nodemask.h:95, from /kisskb/src/include/linux/mmzone.h:17, from /kisskb/src/include/linux/gfp.h:6, from /kisskb/src/include/linux/umh.h:4, from /kisskb/src/include/linux/kmod.h:22, from /kisskb/src/include/linux/module.h:13, from /kisskb/src/kernel/trace/trace_events_hist.c:17: In function 'strncpy', inlined from 'hist_err_event' at /kisskb/src/kernel/trace/trace_events_hist.c:396:3: /kisskb/src/include/linux/string.h:246:9: warning: '__builtin_strncpy' specified bound 256 equals destination size [-Wstringop-truncation] return __builtin_strncpy(p, q, size); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Makefile:146: recipe for target 'sub-make' failed make: *** [sub-make] Error 2 Command 'make -s -j 48 ARCH=powerpc O=/kisskb/build/powerpc-next_ppc32_allmodconfig_powerpc-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/powerpc-next_ppc32_allmodconfig_powerpc-gcc8 # Build took: 0:00:31.364294