# git rev-parse -q --verify 7312bd0c205dc9e6e30128ef9243d7bc8ba1187d^{commit} 7312bd0c205dc9e6e30128ef9243d7bc8ba1187d already have revision, skipping fetch # git checkout -q -f -B kisskb 7312bd0c205dc9e6e30128ef9243d7bc8ba1187d # git clean -qxdf # < git log -1 # commit 7312bd0c205dc9e6e30128ef9243d7bc8ba1187d # Author: Mahesh Salgaonkar # Date: Thu Aug 23 10:26:08 2018 +0530 # # powerpc/mce: Fix SLB rebolting during MCE recovery path. # # With the powerpc next commit e7e81847478b ("powerpc/64s: move machine # check SLB flushing to mm/slb.c"), the SLB error recovery is broken. # The new code now does not add the index value to RB[52-63] that # selects the SLB entry when rebolting, instead it assumes that the # shadow save area already has the index embeded correctly in the esid # field. # # While all valid bolted save areas do contain index value set # correctly, there is a case where 3rd (KSTACK_INDEX) entry for kernel # stack does not embed index for NULL esid entry. This patch fixes that. # # Without this patch the SLB rebolt code overwirtes the 1st entry of # kernel linear mapping and causes SLB recovery to fail. # # 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 7312bd0c205dc9e6e30128ef9243d7bc8ba1187d # < make -s -j 120 ARCH=powerpc O=/kisskb/build/powerpc-next_ppc40x_defconfig_powerpc-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux- ppc40x_defconfig # make -s -j 120 ARCH=powerpc O=/kisskb/build/powerpc-next_ppc40x_defconfig_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. /kisskb/src/arch/powerpc/kernel/head_40x.S: Assembler messages: /kisskb/src/arch/powerpc/kernel/head_40x.S:883: Warning: invalid register expression /kisskb/src/net/Makefile:24: CC cannot link executables. Skipping bpfilter. In function 'kernfs_get_target_path', inlined from 'kernfs_getlink.isra.0' at /kisskb/src/fs/kernfs/symlink.c:109:10, inlined from 'kernfs_iop_get_link.part.1' at /kisskb/src/fs/kernfs/symlink.c:127:10, inlined from 'kernfs_iop_get_link': /kisskb/src/fs/kernfs/symlink.c:91:3: warning: 'strncpy' output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation] strncpy(s + len, kn->name, slen); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/fs/kernfs/symlink.c: In function 'kernfs_iop_get_link': /kisskb/src/fs/kernfs/symlink.c:88:14: note: length computed here int slen = strlen(kn->name); ^~~~~~~~~~~~~~~~ /kisskb/src/crypto/ablkcipher.c: In function 'crypto_ablkcipher_report': /kisskb/src/crypto/ablkcipher.c:374:2: warning: 'strncpy' specified bound 64 equals destination size [-Wstringop-truncation] strncpy(rblkcipher.geniv, alg->cra_ablkcipher.geniv ?: "", ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sizeof(rblkcipher.geniv)); ~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/crypto/ablkcipher.c: In function 'crypto_givcipher_report': /kisskb/src/crypto/ablkcipher.c:448:2: warning: 'strncpy' specified bound 64 equals destination size [-Wstringop-truncation] strncpy(rblkcipher.geniv, alg->cra_ablkcipher.geniv ?: "", ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sizeof(rblkcipher.geniv)); ~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/crypto/blkcipher.c: In function 'crypto_blkcipher_report': /kisskb/src/crypto/blkcipher.c:513:2: warning: 'strncpy' specified bound 64 equals destination size [-Wstringop-truncation] strncpy(rblkcipher.geniv, alg->cra_blkcipher.geniv ?: "", ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sizeof(rblkcipher.geniv)); ~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/fs/ext4/super.c: In function '__save_error_info.isra.5': /kisskb/src/fs/ext4/super.c:326:2: warning: 'strncpy' specified bound 32 equals destination size [-Wstringop-truncation] strncpy(es->s_last_error_func, func, sizeof(es->s_last_error_func)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/fs/ext4/super.c:330:3: warning: 'strncpy' specified bound 32 equals destination size [-Wstringop-truncation] strncpy(es->s_first_error_func, func, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sizeof(es->s_first_error_func)); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function 'fill_kobj_path', inlined from 'kobject_get_path' at /kisskb/src/lib/kobject.c:155:2: /kisskb/src/lib/kobject.c:128:3: warning: 'strncpy' output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation] strncpy(path + length, kobject_name(parent), cur); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/lib/kobject.c: In function 'kobject_get_path': /kisskb/src/lib/kobject.c:125:13: note: length computed here int cur = strlen(kobject_name(parent)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ INFO: Uncompressed kernel (size 0x577840) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0x600000) INFO: Uncompressed kernel (size 0x577840) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0x600000) INFO: Uncompressed kernel (size 0x577840) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0x600000) INFO: Uncompressed kernel (size 0x567160) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0x600000) INFO: Uncompressed kernel (size 0x577840) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0x600000) Image Name: Linux-4.18.0-rc3-g7312bd0 Created: Fri Aug 24 00:20:04 2018 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 2758378 Bytes = 2693.73 kB = 2.63 MB Load Address: 00600000 Entry Point: 006016c0 Image Name: Linux-4.18.0-rc3-g7312bd0 Created: Fri Aug 24 00:20:04 2018 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 2729413 Bytes = 2665.44 kB = 2.60 MB Load Address: 00000000 Entry Point: 00000000 Image Name: Linux-4.18.0-rc3-g7312bd0 Created: Fri Aug 24 00:20:04 2018 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 2758003 Bytes = 2693.36 kB = 2.63 MB Load Address: 00600000 Entry Point: 0060146c Completed OK # rm -rf /kisskb/build/powerpc-next_ppc40x_defconfig_powerpc-gcc8 # Build took: 0:00:22.454387