# git rev-parse -q --verify e310e405015f48d18684d89aa27f8c7536b51268^{commit} e310e405015f48d18684d89aa27f8c7536b51268 already have revision, skipping fetch # git checkout -q -f -B kisskb e310e405015f48d18684d89aa27f8c7536b51268 # git clean -qxdf # < git log -1 # commit e310e405015f48d18684d89aa27f8c7536b51268 # Author: Mahesh Salgaonkar # Date: Sun Aug 19 22:38:32 2018 +0530 # # powerpc/pseries: Dump the SLB contents on SLB MCE errors. # # If we get a machine check exceptions due to SLB errors then dump the # current SLB contents which will be very much helpful in debugging the # root cause of SLB errors. Introduce an exclusive buffer per cpu to hold # faulty SLB entries. In real mode mce handler saves the old SLB contents # into this buffer accessible through paca and print it out later in virtual # mode. # # With this patch the console will log SLB contents like below on SLB MCE # errors: # # [ 507.297236] SLB contents of cpu 0x1 # [ 507.297237] Last SLB entry inserted at slot 16 # [ 507.297238] 00 c000000008000000 400ea1b217000500 # [ 507.297239] 1T ESID= c00000 VSID= ea1b217 LLP:100 # [ 507.297240] 01 d000000008000000 400d43642f000510 # [ 507.297242] 1T ESID= d00000 VSID= d43642f LLP:110 # [ 507.297243] 11 f000000008000000 400a86c85f000500 # [ 507.297244] 1T ESID= f00000 VSID= a86c85f LLP:100 # [ 507.297245] 12 00007f0008000000 4008119624000d90 # [ 507.297246] 1T ESID= 7f VSID= 8119624 LLP:110 # [ 507.297247] 13 0000000018000000 00092885f5150d90 # [ 507.297247] 256M ESID= 1 VSID= 92885f5150 LLP:110 # [ 507.297248] 14 0000010008000000 4009e7cb50000d90 # [ 507.297249] 1T ESID= 1 VSID= 9e7cb50 LLP:110 # [ 507.297250] 15 d000000008000000 400d43642f000510 # [ 507.297251] 1T ESID= d00000 VSID= d43642f LLP:110 # [ 507.297252] 16 d000000008000000 400d43642f000510 # [ 507.297253] 1T ESID= d00000 VSID= d43642f LLP:110 # [ 507.297253] ---------------------------------- # [ 507.297254] SLB cache ptr value = 3 # [ 507.297254] Valid SLB cache entries: # [ 507.297255] 00 EA[0-35]= 7f000 # [ 507.297256] 01 EA[0-35]= 1 # [ 507.297257] 02 EA[0-35]= 1000 # [ 507.297257] Rest of SLB cache entries: # [ 507.297258] 03 EA[0-35]= 7f000 # [ 507.297258] 04 EA[0-35]= 1 # [ 507.297259] 05 EA[0-35]= 1000 # [ 507.297260] 06 EA[0-35]= 12 # [ 507.297260] 07 EA[0-35]= 7f000 # # Suggested-by: Aneesh Kumar K.V # Suggested-by: Michael Ellerman # Signed-off-by: Mahesh Salgaonkar # Reviewed-by: Nicholas Piggin # Signed-off-by: Michael Ellerman # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/hppa-linux/bin/hppa-linux-gcc --version # < git log --format=%s --max-count=1 e310e405015f48d18684d89aa27f8c7536b51268 # < make -s -j 48 ARCH=parisc O=/kisskb/build/powerpc-next_parisc-defconfig_parisc CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/hppa-linux/bin/hppa-linux- defconfig # make -s -j 48 ARCH=parisc O=/kisskb/build/powerpc-next_parisc-defconfig_parisc CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/hppa-linux/bin/hppa-linux- /kisskb/src/net/Makefile:24: CC cannot link executables. Skipping bpfilter. :1335:2: warning: #warning syscall rseq not implemented [-Wcpp] /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)); ~~~~~~~~~~~~~~~~~~~~~~~~~ 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)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /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)); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/scripts/unifdef.c: In function 'Mpass': /kisskb/src/scripts/unifdef.c:453:28: warning: 'strncpy' output truncated before terminating nul copying 4 bytes from a string of the same length [-Wstringop-truncation] static void Mpass (void) { strncpy(keyword, "if ", 4); Pelif(); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~ Completed OK # rm -rf /kisskb/build/powerpc-next_parisc-defconfig_parisc # Build took: 0:01:05.585743