From 7f63f165f67da376402239e04c4becd642d56870 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 1 Feb 2022 13:13:53 -0500 Subject: [PATCH] import powerpc-utils-1.3.9-6.el9 --- ...-utils-1.3.9-sanitize-devspec-output.patch | 62 +++++++++++++++++++ SPECS/powerpc-utils.spec | 6 +- 2 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 SOURCES/powerpc-utils-1.3.9-sanitize-devspec-output.patch diff --git a/SOURCES/powerpc-utils-1.3.9-sanitize-devspec-output.patch b/SOURCES/powerpc-utils-1.3.9-sanitize-devspec-output.patch new file mode 100644 index 0000000..e8d1f39 --- /dev/null +++ b/SOURCES/powerpc-utils-1.3.9-sanitize-devspec-output.patch @@ -0,0 +1,62 @@ +commit d8408b429ff022ff446ac2607bc26eaf60627658 +Author: Tyrel Datwyler +Date: Mon Jan 10 16:55:58 2022 -0500 + + errinjct: sanitize devspec output of a newline if one is present + + Linux Kernel Commit: 14c19b2a40b6 ("PCI/sysfs: Add 'devspec' newline") + introduced a newline character at the end of the devspec result which + historically did not have one before. When a newline is present the + errinjct utility constructs an invalid pathname for a PCI devices /reg + property in the device tree. As a result the tool fails to provide a + valid config address to RTAS resulting in a (-3) Parameter Error. + + errinjct eeh -v -f 6 -s net/eth1 -a 0xe0800000 -m 0xff800000 + errinjct: Could not open file /proc/device-tree//pci@800000020000154/ethernet@0,1 + /reg, No such file or directory + + Injecting an ioa-bus-error with the following data: + + BUS ADDR: e0800000 + ADDR MASK: ff800000 + CONFIG ADDR: 1 + PHB UNIT_ID: 800000020000154 + FUNCTION: 6 + Store to PCI Memory Address Space - inject an Address Parity Error + errinjct: RTAS error injection failed! + + errinjct: RTAS: ioa-bus-error: Argument error (-3) + + Fix this issue by nul terminating the devspec output string at the newline + if present. + + Signed-off-by: Tyrel Datwyler + +diff --git a/src/errinjct/ioa_bus_error.c b/src/errinjct/ioa_bus_error.c +index 281b56b..fc38037 100644 +--- a/src/errinjct/ioa_bus_error.c ++++ b/src/errinjct/ioa_bus_error.c +@@ -232,7 +232,7 @@ static int parse_sysfsname(void) + { + char path[BUFSZ]; + char *devspec; +- char *at; ++ char *at, *nl; + uint32_t addr; + uint64_t phb_id; + +@@ -247,6 +247,14 @@ static int parse_sysfsname(void) + if (!devspec) + return 1; + ++ /* Linux Kernel Commit: 14c19b2a40b6 ("PCI/sysfs: Add 'devspec' newline") ++ * began reporting the devspec value for pci devices with a trailing newline. ++ * Remove the newline if present to ensure our built pathname for obtaining ++ * the config address is valid. */ ++ nl = strchr(devspec, '\n'); ++ if (nl) ++ *nl = '\0'; ++ + /* Now we parse something like /pci@400000000112/pci@2/ethernet@1 for + * BUID HI =4000 and LOW 00000112 */ + at = strchr(devspec, '@'); diff --git a/SPECS/powerpc-utils.spec b/SPECS/powerpc-utils.spec index 0b79e9d..a4f1fd3 100644 --- a/SPECS/powerpc-utils.spec +++ b/SPECS/powerpc-utils.spec @@ -1,6 +1,6 @@ Name: powerpc-utils Version: 1.3.9 -Release: 5%{?dist} +Release: 6%{?dist} Summary: PERL-based scripts for maintaining and servicing PowerPC systems License: GPLv2 @@ -35,6 +35,7 @@ Patch7: powerpc-utils-1.3.8-hcnmgr.patch Patch8: powerpc-utils-support-vnic-as-backup-device-for-HNV.patch # fixed hexdump format Patch9: powerpc-utils-1.3.9-fix-hexdump-format.patch +Patch10: powerpc-utils-1.3.9-sanitize-devspec-output.patch %description PERL-based scripts for maintaining and servicing PowerPC systems. @@ -204,6 +205,9 @@ systemctl enable hcn-init.service >/dev/null 2>&1 || : %changelog +* Fri Jan 14 2022 Than Ngo - 1.3.9-6 +- Resolves: #2039201, santize devspec output of a newline if one is present + * Tue Dec 07 2021 Than Ngo - 1.3.9-5 - Resolves: #2024038 - HNV interface fails to configure when added in lpar shutdown state