On Fri, Apr 21, 2017 at 12:22:09PM -0600, Baicar, Tyler wrote:I'll move this to just happen when the length check fails.
I guess it's not really needed. It just may be useful considering there canAnd? Why does the user care?
be numerous error info structures, numerous context info structures, and a
variable length vendor information section. I can move this print to only in
the length check failure cases.
I mean, it is good for debugging when you wanna see you're parsing the
error info data properly but otherwise it doesn't improve the error
reporting one bit.
I can remove it then.Because these are part of the error information structure. I wouldn't thinkSame argument as above.
FW would populate error information structures that are different versions
in the same processor error, but it could be possible from the spec (at
least once there are different versions of the table).
Yes, I do plan on adding further decoding for these values in the future.
There is an error information 64 bit value in the ARM processor errorSo that's IP-dependent and explained in the following tables. Any plans
information structure. (UEFI spec 2.6 table 261)
on decoding that too?
That seems like something that should be done outside of these patches (if added to the kernel at all). The decoding for this information would all be vendor specific, so I'm not sure if we want to pollute the EFI code with vendor specific error decoding. Currently we are using the RAS Daemon user space tool for the decoding of this information since vendors can easily pick up this tool and add an extension for their vendor specific parsing. These prints will only happen when the firmware supports the vendor specific error information anyway.
Why's that? Dumping this vendor specific error information is similar to theAnd how do those naked bytes help the user understand the error happening?
unrecognized CPER section reporting which is also meant for vendor specific
information https://lkml.org/lkml/2017/4/18/751
Even in your example you have:
[ 140.739210] {1}[Hardware Error]: 00000000: 4d415201 4d492031 453a4d45 435f4343 .RAM1 IMEM:ECC_C
[ 140.739214] {1}[Hardware Error]: 00000010: 53515f45 44525f42 00000000 00000000 E_QSB_RD........
Which looks like some correctable ECC DRAM error and is actually begging
to be decoded in a human-readable form. So let's do that completely and
not dump partially decoded information.