History log of /openbmc/libcper/ir-parse.c (Results 1 – 17 of 17)
Revision Date Author Comments
# 379e492a 28-Aug-2024 Patrick Williams <patrick@stwcx.xyz>

Adjust strncpy sizes

When building under bitbake with the latest openbmc, we get compile
warnings such as these:

```
| ../git/sections/cper-section-nvidia.c: In function 'ir_section_nvidia_to_cper'

Adjust strncpy sizes

When building under bitbake with the latest openbmc, we get compile
warnings such as these:

```
| ../git/sections/cper-section-nvidia.c: In function 'ir_section_nvidia_to_cper':
| ../git/sections/cper-section-nvidia.c:67:9: error: '__builtin_strncpy' specified bound 16 equals destination size [-Werror=stringop-truncation]
| 67 | strncpy(section_cper->Signature,
```

Using `strncpy` on its own is unsafe because a string too long will
end up in the destination buffer without NUL termination. Adjust
the strncpy to be one shorter than the buffer and force the trailing
byte to be a NUL.

Repeat this pattern for all `strncpy` calls.

Change-Id: I45c630733f0138d2b089a60f698d75e1c09de9e2
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# a7d2cddd 15-Jul-2024 Ed Tanous <etanous@nvidia.com>

Move to embedded base64

Base64 encode/decode is a relatively simple algorithm, and currently
libcper takes a dependency on libb64 for this. libb64 does not have
methods for determining the encoded

Move to embedded base64

Base64 encode/decode is a relatively simple algorithm, and currently
libcper takes a dependency on libb64 for this. libb64 does not have
methods for determining the encoded size or decoded size, and rely on
the user to provide the right buffer sizes, which libcper currently
approximates as 2X the input size (which is incorrect).

This commit removes the libb64 dependency entirely, and inlines a
libcper specific base64 encoder and decoder, using EDK2-allowed types.

The implementation itself is unique to libcper and makes the following
design decisions.
1. Malloc is performed within the base64_<> functions. This reduces the
number of malloc calls total, and removes the need for separately
determining the output size.
2. Arguments are passed in by EDK2-types under the assumption that this
will keep compatibility with EDK2 implementations.
3. Incremental parsing is not supported. CPER records are expected to
be algorithmically small, and buffered such that the entire value
fits in memory. This was already an assumption, but dropping the
support for incremental encoding significantly reduces the amount of
code to support it. It could be added back in the future if needed.

Change-Id: Idb010db105067ea317dbee05c2663511ab3c6611
Signed-off-by: Ed Tanous <ed@tanous.net>

show more ...


# fedd457d 12-Jul-2024 Ed Tanous <ed@tanous.net>

Remove trailing whitespace

clang-format won't remove trailing whitespace if that's the only change.
Fix them all.

Change-Id: Ic6e14af43cdd11905d3b58430d49b9ec1484f812
Signed-off-by: Ed Tanous <ed@t

Remove trailing whitespace

clang-format won't remove trailing whitespace if that's the only change.
Fix them all.

Change-Id: Ic6e14af43cdd11905d3b58430d49b9ec1484f812
Signed-off-by: Ed Tanous <ed@tanous.net>

show more ...


# f8fc7052 03-May-2024 John Chung <john.chung@arm.com>

Formatting .c/.h files and fix memory leakage issues

Signed-off-by: John Chung <john.chung@arm.com>
Change-Id: Id8328f412c2724992d80c0b3f895c8f85bc4ae68


# f1f3b839 24-Aug-2022 Lawrence Tang <lawrence.tang@arm.com>

Formatting fixes.

Change-Id: I8947f98088bc7996f33235ab2267e243e45bd8dd


# 580423fe 24-Aug-2022 Lawrence Tang <lawrence.tang@arm.com>

Shift section definitions into separate file, add testing.

Change-Id: Idb0b41d7fa2999485580fca770958a27c1086f65


# 5202bbb4 12-Aug-2022 Lawrence Tang <lawrence.tang@arm.com>

Source json.h non-locally.

Change-Id: Ia42c41fde74596b394a1f7ae0021f1a5510991a8


# 617949e4 08-Aug-2022 Lawrence Tang <lawrence.tang@arm.com>

Add CPER conversion for single section records.


# e407b4c8 21-Jul-2022 Lawrence Tang <lawrence.tang@arm.com>

Partial reformat to kernel code style.


# aec83900 18-Jul-2022 Lawrence Tang <lawrence.tang@arm.com>

Add conversion for CXL protocol/component.


# 205dd1d7 14-Jul-2022 Lawrence Tang <lawrence.tang@arm.com>

Add all DMAR, CCIX, PCI, firmware conversions.


# 3b7f45b5 14-Jul-2022 Lawrence Tang <lawrence.tang@arm.com>

Add PCIe/memory CPER-JSON parsing.


# 71570a2a 14-Jul-2022 Lawrence Tang <lawrence.tang@arm.com>

Add ARM CPER out, fix struct misalignment.


# d0c88849 13-Jul-2022 Lawrence Tang <lawrence.tang@arm.com>

Add partial IA32x64 CPER-JSON support.


# 0cb33793 13-Jul-2022 Lawrence Tang <lawrence.tang@arm.com>

Add section descriptor parsing, generic processor error.


# b44314c7 13-Jul-2022 Lawrence Tang <lawrence.tang@arm.com>

Add IR header conversion.


# f0f95574 07-Jul-2022 Lawrence Tang <lawrence.tang@arm.com>

Add README, reverse function signature.