backport patches from upstream
This commit is contained in:
parent
7b535c8832
commit
c80dbc7963
@ -0,0 +1,56 @@
|
||||
From 9415b7449c70f5ea4a0209ddb89c2f5f392d3b4b Mon Sep 17 00:00:00 2001
|
||||
From: Muralidhara M K <muralimk@amd.com>
|
||||
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 <muralimk@amd.com>
|
||||
Signed-off-by: Naveen Krishna Chatradhi <nchatrad@amd.com>
|
||||
Cc: Yazen Ghannam <yazen.ghannam@amd.com>
|
||||
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
|
||||
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 = <IN>;
|
||||
+ $location =~ s/\s+$//;
|
||||
close IN;
|
||||
my @temp = split(/ /, $location);
|
||||
|
||||
@@ -288,6 +289,7 @@ sub parse_dimm_nodes
|
||||
|
||||
open IN, $file;
|
||||
my $location = <IN>;
|
||||
+ $location =~ s/\s+$//;
|
||||
close IN;
|
||||
|
||||
my @pos;
|
||||
--
|
||||
2.27.0
|
||||
|
||||
@ -0,0 +1,34 @@
|
||||
From ce33041e0abfa20054ff5d6874ffbd1ab592558d Mon Sep 17 00:00:00 2001
|
||||
From: Aristeu Rozanski <arozansk@redhat.com>
|
||||
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 <arozansk@redhat.com>
|
||||
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
|
||||
---
|
||||
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
|
||||
|
||||
@ -0,0 +1,93 @@
|
||||
From 899fcc2cf21c86b5462c8f4441cd9c92b3d75f7d Mon Sep 17 00:00:00 2001
|
||||
From: Aristeu Rozanski <arozansk@redhat.com>
|
||||
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 <arozansk@redhat.com>
|
||||
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
|
||||
---
|
||||
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
|
||||
|
||||
@ -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
|
||||
@ -40,6 +40,10 @@ 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
|
||||
Patch20: rasdaemon-diskerror-fix-incomplete-diskerror-log.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
|
||||
|
||||
%description
|
||||
The rasdaemon program is a daemon which monitors the platform
|
||||
Reliablity, Availability and Serviceability (RAS) reports from the
|
||||
@ -84,6 +88,12 @@ rm INSTALL %{buildroot}/usr/include/*.h
|
||||
/usr/bin/systemctl enable rasdaemon.service >/dev/null 2>&1 || :
|
||||
|
||||
%changelog
|
||||
* Thu Mar 23 2023 renhongxun <renhongxun@h-partners.com> - 0.6.7-8
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:backport patches from upstream
|
||||
|
||||
* Thu Feb 16 2023 Lv Ying <lvying6@huawei.com> - 0.6.7-7
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user