diff --git a/backport-rasdaemon-ras-mc-ctl-Fix-script-to-parse-dimm-sizes.patch b/backport-rasdaemon-ras-mc-ctl-Fix-script-to-parse-dimm-sizes.patch new file mode 100644 index 0000000000000000000000000000000000000000..d9331e5ef3b0227ec50768c30a1eec8db7b93593 --- /dev/null +++ b/backport-rasdaemon-ras-mc-ctl-Fix-script-to-parse-dimm-sizes.patch @@ -0,0 +1,56 @@ +From 9415b7449c70f5ea4a0209ddb89c2f5f392d3b4b Mon Sep 17 00:00:00 2001 +From: Muralidhara M K +Date: Tue, 27 Jul 2021 06:36:45 -0500 +Subject: [PATCH] rasdaemon: ras-mc-ctl: Fix script to parse dimm sizes + +Removes trailing spaces at the end of a line from +file location and fixes --layout option to parse dimm nodes +to get the size of each dimm from ras-mc-ctl. + +Issue is reported https://github.com/mchehab/rasdaemon/issues/43 +Where '> ras-mc-ctl --layout' reports all 0s + +With this change the layout option prints the correct dimm sizes +> sudo ras-mc-ctl --layout + +-----------------------------------------------+ + | mc0 | + | csrow0 | csrow1 | csrow2 | csrow3 | +----------+-----------------------------------------------+ +... +channel7: | 16384 MB | 0 MB | 0 MB | 0 MB | +channel6: | 16384 MB | 0 MB | 0 MB | 0 MB | +... +----------+-----------------------------------------------+ + +Signed-off-by: Muralidhara M K +Signed-off-by: Naveen Krishna Chatradhi +Cc: Yazen Ghannam +Signed-off-by: Mauro Carvalho Chehab +Link: https://lkml.kernel.org/r/20210810183855.129076-1-nchatrad@amd.com/ +--- + util/ras-mc-ctl.in | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/util/ras-mc-ctl.in b/util/ras-mc-ctl.in +index 1e3aeb7..b22dd60 100755 +--- a/util/ras-mc-ctl.in ++++ b/util/ras-mc-ctl.in +@@ -246,6 +246,7 @@ sub parse_dimm_nodes + if (($file =~ /max_location$/)) { + open IN, $file; + my $location = ; ++ $location =~ s/\s+$//; + close IN; + my @temp = split(/ /, $location); + +@@ -288,6 +289,7 @@ sub parse_dimm_nodes + + open IN, $file; + my $location = ; ++ $location =~ s/\s+$//; + close IN; + + my @pos; +-- +2.27.0 + diff --git a/backport-rasdaemon-ras-memory-failure-handler-handle-localtim.patch b/backport-rasdaemon-ras-memory-failure-handler-handle-localtim.patch new file mode 100644 index 0000000000000000000000000000000000000000..ed749fedac8585c6fa45a91f55c534ffdaa08534 --- /dev/null +++ b/backport-rasdaemon-ras-memory-failure-handler-handle-localtim.patch @@ -0,0 +1,34 @@ +From ce33041e0abfa20054ff5d6874ffbd1ab592558d Mon Sep 17 00:00:00 2001 +From: Aristeu Rozanski +Date: Thu, 19 Jan 2023 08:45:57 -0500 +Subject: [PATCH] rasdaemon: ras-memory-failure-handler: handle localtime() + failure correctly + +We could just have an empty string but keeping the format could prevent +issues if someone is actually parsing this. +Found with covscan. + +v2: fixed the timestamp as pointed by Robert Elliott + +Signed-off-by: Aristeu Rozanski +Signed-off-by: Mauro Carvalho Chehab +--- + ras-memory-failure-handler.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/ras-memory-failure-handler.c b/ras-memory-failure-handler.c +index 9941e68..1951456 100644 +--- a/ras-memory-failure-handler.c ++++ b/ras-memory-failure-handler.c +@@ -148,6 +148,8 @@ int ras_memory_failure_event_handler(struct trace_seq *s, + if (tm) + strftime(ev.timestamp, sizeof(ev.timestamp), + "%Y-%m-%d %H:%M:%S %z", tm); ++ else ++ strncpy(ev.timestamp, "1970-01-01 00:00:00 +0000", sizeof(ev.timestamp)); + trace_seq_printf(s, "%s ", ev.timestamp); + + if (pevent_get_field_val(s, event, "pfn", record, &val, 1) < 0) +-- +2.27.0 + diff --git a/backport-rasdaemon-ras-report-fix-possible-but-unlikely-file-.patch b/backport-rasdaemon-ras-report-fix-possible-but-unlikely-file-.patch new file mode 100644 index 0000000000000000000000000000000000000000..4c7953cda6346928af1674bd59c795a798f91800 --- /dev/null +++ b/backport-rasdaemon-ras-report-fix-possible-but-unlikely-file-.patch @@ -0,0 +1,93 @@ +From 899fcc2cf21c86b5462c8f4441cd9c92b3d75f7d Mon Sep 17 00:00:00 2001 +From: Aristeu Rozanski +Date: Thu, 19 Jan 2023 08:45:57 -0500 +Subject: [PATCH] rasdaemon: ras-report: fix possible but unlikely file + descriptor leak + +Found with covscan. + +Signed-off-by: Aristeu Rozanski +Signed-off-by: Mauro Carvalho Chehab +--- + ras-report.c | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/ras-report.c b/ras-report.c +index ea3a9b6..62d5eb7 100644 +--- a/ras-report.c ++++ b/ras-report.c +@@ -434,7 +434,7 @@ int ras_report_mc_event(struct ras_events *ras, struct ras_mc_event *ev){ + + mc_fail: + +- if(sockfd > 0){ ++ if(sockfd >= 0){ + close(sockfd); + } + +@@ -484,7 +484,7 @@ int ras_report_aer_event(struct ras_events *ras, struct ras_aer_event *ev){ + + aer_fail: + +- if(sockfd > 0){ ++ if(sockfd >= 0){ + close(sockfd); + } + +@@ -533,7 +533,7 @@ int ras_report_non_standard_event(struct ras_events *ras, struct ras_non_standar + + non_standard_fail: + +- if(sockfd > 0){ ++ if(sockfd >= 0){ + close(sockfd); + } + +@@ -578,7 +578,7 @@ int ras_report_arm_event(struct ras_events *ras, struct ras_arm_event *ev){ + + arm_fail: + +- if(sockfd > 0){ ++ if(sockfd >= 0){ + close(sockfd); + } + +@@ -624,7 +624,7 @@ int ras_report_mce_event(struct ras_events *ras, struct mce_event *ev){ + + mce_fail: + +- if(sockfd > 0){ ++ if(sockfd >= 0){ + close(sockfd); + } + +@@ -674,7 +674,7 @@ int ras_report_devlink_event(struct ras_events *ras, struct devlink_event *ev){ + + devlink_fail: + +- if(sockfd > 0){ ++ if(sockfd >= 0){ + close(sockfd); + } + +@@ -723,7 +723,7 @@ int ras_report_diskerror_event(struct ras_events *ras, struct diskerror_event *e + done = 1; + + diskerror_fail: +- if(sockfd > 0){ ++ if(sockfd >= 0){ + close(sockfd); + } + +@@ -768,7 +768,7 @@ int ras_report_mf_event(struct ras_events *ras, struct ras_mf_event *ev) + done = 1; + + mf_fail: +- if (sockfd > 0) ++ if (sockfd >= 0) + close(sockfd); + + if (done) +-- +2.27.0 + diff --git a/rasdaemon.spec b/rasdaemon.spec index 98e99542dbca87dc7fcbab6868f0d16fb61700dd..f63e43c0244fb3e95889236e8318d4cab180e86a 100644 --- a/rasdaemon.spec +++ b/rasdaemon.spec @@ -1,6 +1,6 @@ Name: rasdaemon Version: 0.6.7 -Release: 7 +Release: 8 License: GPLv2 Summary: Utility to get Platform Reliability, Availability and Serviceability (RAS) reports via the Kernel tracing events URL: https://github.com/mchehab/rasdaemon.git @@ -39,6 +39,10 @@ Patch17: 0009-rasdaemon-ras-mc-ctl-Updated-HiSilicon-platform-name.patch Patch18: 0010-rasdaemon-Fix-for-a-memory-out-of-bounds-issue-and-o.patch Patch19: 0001-rasdaemon-use-standard-length-PATH_MAX-for-path-name.patch +Patch6000: backport-rasdaemon-ras-mc-ctl-Fix-script-to-parse-dimm-sizes.patch +Patch6001: backport-rasdaemon-ras-memory-failure-handler-handle-localtim.patch +Patch6002: backport-rasdaemon-ras-report-fix-possible-but-unlikely-file-.patch + Patch9000: fix-ras-mc-ctl.service-startup-failed-when-selinux-is-no.patch %description @@ -85,6 +89,12 @@ rm INSTALL %{buildroot}/usr/include/*.h /usr/bin/systemctl enable rasdaemon.service >/dev/null 2>&1 || : %changelog +* Thu Mar 23 2023 renhongxun - 0.6.7-8 +- Type:bugfix +- ID:NA +- SUG:NA +- DESC:backport patches from upstream + * Thu Dec 01 2022 shixuantong - 0.6.7-7 - Type:bugfix - ID:NA