Skip to content

powerpc: Support to handle control memory access error [FEAT]

Desnes Nunes requested to merge desnesn/centos-stream-9:rh2068688 into main

BUGZILLA

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2068688

UPSTREAM STATUS

Upstream Status: Patches have been accepted on kernel/git/powerpc/linux.git

CONFLICTS

None

BUILD INFORMATION

Build Info: http://brewweb.engineering.redhat.com/brew/taskinfo?taskID=44249693

TESTING

The bus error generated by the inject_ctrl_mem_err test on the patched kernel was properly logged as expected.

[root@ltcden6##]# uname -a
Linux ltcden6c3-lp1.aus.stglabs.ibm.com 5.14.0-75.PATCHED_rh2068688.el9_0.ppc64le #1 SMP Tue Mar 29 15:40:27 EDT 2022 ppc64le ppc64le ppc64le GNU/Linux

[root@ltcden6##]# ls
cma_inject.c  cma_inject.s  cma.sh  inject_ctrl_mem_err  vas-api.h

[root@ltcden6##]# ./inject_ctrl_mem_err
Bus error (core dumped)

[root@ltcden6##]# dmesg
[  679.146780] Disabling lock debugging due to kernel taint
[  679.146797] MCE: CPU30: machine check (Severe)  Real address Load/Store (foreign/control memory) [Not recovered]
[  679.146802] MCE: CPU30: PID: 11354 Comm: inject_ctrl_mem NIP: [0000000010000a28]
[  679.146806] MCE: CPU30: Initiator CPU
[  679.146808] MCE: CPU30: Unknown
[  679.146811] inject_ctrl_mem[11354]: bus error (7) at 10000a28 nip 10000a28 lr 10000a18 code 4 in inject_ctrl_mem_err[10000000+10000]
[  679.146821] inject_ctrl_mem[11354]: code: e93f0072 39000000 7d274b78 38c00001 38a00003 38801000 38600000 4bfffc6d
[  679.146826] inject_ctrl_mem[11354]: code: e8410018 f87f0078 e93f0078 39400001 <91490000> f00002d0 393f0060 7c004fae
[  679.146868] RTAS: event: 1, Type: Platform Error (224), Severity: 3
[  679.146877] potentially unexpected fatal signal 7.
[  679.146880] CPU: 30 PID: 11354 Comm: inject_ctrl_mem Kdump: loaded Tainted: G   M             --------- ---  5.14.0-75.PATCHED_rh2068688.el9_0.ppc64le #1
[  679.146885] NIP:  0000000010000a28 LR: 0000000010000a18 CTR: 0000000000000000
[  679.146888] REGS: c00000013ae53e80 TRAP: 0200   Tainted: G   M             --------- ---   (5.14.0-75.PATCHED_rh2068688.el9_0.ppc64le)
[  679.146893] MSR:  8000000002a0f033 <SF,VEC,VSX,EE,PR,FP,ME,IR,DR,RI,LE>  CR: 82002402  XER: 00000000
[  679.146902] CFAR: 000000000000021c DAR: 00007fff85b90000 DSISR: 02000008 IRQMASK: 0
               GPR00: 0000000010000a18 00007fffcb84f030 0000000010027f00 00007fff85b90000
               GPR04: 0000000000001000 0000000000000003 0000000000000001 0000000000000003
               GPR08: 0000000000000000 00007fff85b90000 0000000000000001 0000000000000000
               GPR12: 0000000000000000 00007fff85c3a4e0 0000000000000000 0000000000000000
               GPR16: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
               GPR20: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
               GPR24: 00000000100008ac 00007fffcb84f548 000000001001fce8 00007fff85c2f6d8
               GPR28: 00007fffcb84f640 00007fffcb84f538 0000000000000001 00007fffcb84f030
[  679.146940] NIP [0000000010000a28] 0x10000a28
[  679.146944] LR [0000000010000a18] 0x10000a18
[  679.146948] Call Trace:

DESCRIPTION

This FEAT request brings in a few patches which provide support to parsing/logging control memory access errors on pseries.

Signed-off-by: Desnes A. Nunes do Rosario drosario@redhat.com

Edited by Desnes Nunes

Merge request reports