Compare commits

...

10 Commits

Author SHA1 Message Date
openeuler-ci-bot
d0c87b9a35
!173 set to default when param is overflow
From: @luckky7 
Reviewed-by: @lvying6 
Signed-off-by: @lvying6
2024-12-16 12:26:42 +00:00
luckky
89ecd5aa1a set to default when param is overflow 2024-12-16 20:05:43 +08:00
openeuler-ci-bot
371b8ac8fc
!155 rasdaemon: ras-mc-ctl: Modify check for HiSilicon KunPeng9xx error fields
From: @xia-bing1 
Reviewed-by: @znzjugod 
Signed-off-by: @znzjugod
2024-04-25 11:58:14 +00:00
Bing Xia
dc426d5fbc rasdaemon: ras-mc-ctl: Modify check for HiSilicon KunPeng9xx error fields
Modify check for valid HiSilicon KunPeng9xx error fields.
Fixes an error data is not printed when it's value is 0.
2024-04-25 15:22:05 +08:00
openeuler-ci-bot
e6e4280278
!150 [sync] PR-149: Fix cpu isolate errors when some cpus are offline before the service started
From: @openeuler-sync-bot 
Reviewed-by: @znzjugod 
Signed-off-by: @znzjugod
2024-04-25 07:07:02 +00:00
Shengwei Luo
f98e239148 Fix cpu isolate errors when some cpus are offline before the service started
(cherry picked from commit be4fee4058621b382123a7844dfb431be30026b4)
2024-04-24 15:08:29 +08:00
openeuler-ci-bot
a210cc6234
!139 [sync] PR-137: fix ras-mc-ctl.service startup failed when selinux is on
From: @openeuler-sync-bot 
Reviewed-by: @gaoruoshu 
Signed-off-by: @gaoruoshu
2024-03-28 01:28:30 +00:00
zhuofeng
674e4e0ac8 fix ras-mc-ctl.service startup failed when selinux is on
(cherry picked from commit c200e16c474b0ffb6889e00ef57f9e53e40ab93c)
2024-03-27 15:26:17 +08:00
openeuler-ci-bot
b021fddbd4
!134 [sync] PR-133: [24.03-LTS]backport upstream patches
From: @openeuler-sync-bot 
Reviewed-by: @gaoruoshu 
Signed-off-by: @gaoruoshu
2024-03-27 07:25:51 +00:00
zhangruifang2020
c8510b5b0d backport patches from upstream
(cherry picked from commit 49d1da09ac8895204acdadaa396a00c102c99ac5)
2024-03-26 09:56:56 +08:00
6 changed files with 471 additions and 1 deletions

View File

@ -0,0 +1,118 @@
From 0e823890cafdb7220bc916f77b21ca2bdf6cdadc Mon Sep 17 00:00:00 2001
From: zhuofeng <zhuofeng2@huawei.com>
Date: Thu, 7 Dec 2023 10:26:56 +0800
Subject: [PATCH] Fix potential overflow with some arrays at page-isolation
logic
Overflows may happen in the `threshold_string` and `cycle_string` arrays.
If the PAGE_CE_THRESHOLD value in page isolation is set to 50 bits,
there is a risk of array overflow. Because sprintf is an insecure
function, use snprintf instead.
An error is reported when the AddressSanitizer is used.
rasdaemon: Improper PAGE_CE_ACTION, set to default soft
rasdaemon: Page offline choice on Corrected Errors is soft
=================================================================
==221920==ERROR: AddressSanitizer: stack-buffer-overflow on address 0xffffdd91d932 at pc 0xffffa24071c4 bp 0xffffdd91d720 sp 0xffffdd91ced8
WRITE of size 55 at 0xffffdd91d932 thread T0
#0 0xffffa24071c0 in vsprintf (/usr/lib64/libasan.so.6+0x5c1c0)
#1 0xffffa24073cc in sprintf (/usr/lib64/libasan.so.6+0x5c3cc)
#2 0x459558 in parse_env_string /home/rasdaemon/ras-page-isolation.c:185
#3 0x4596f4 in page_isolation_init /home/rasdaemon/ras-page-isolation.c:202
#4 0x459934 in ras_page_account_init /home/rasdaemon/ras-page-isolation.c:211
#5 0x40f700 in handle_ras_events /home/rasdaemon/ras-events.c:902
#6 0x405b8c in main /home/rasdaemon/rasdaemon.c:211
#7 0xffffa20b6f38 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
#8 0xffffa20b7004 in __libc_start_main_impl ../csu/libc-start.c:409
#9 0x4038ec in _start (/home/rasdaemon/rasdaemon+0x4038ec)
Address 0xffffdd91d932 is located in stack of thread T0 at offset 82 in frame
#0 0x459574 in page_isolation_init /home/rasdaemon/ras-page-isolation.c:190
This frame has 2 object(s):
[32, 82) 'threshold_string' (line 191)
[128, 178) 'cycle_string' (line 192) <== Memory access at offset 82 partially underflows this variable
HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
(longjmp and C++ exceptions *are* supported)
SUMMARY: AddressSanitizer: stack-buffer-overflow (/usr/lib64/libasan.so.6+0x5c1c0) in vsprintf
Shadow bytes around the buggy address:
0x200ffbb23ad0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x200ffbb23ae0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x200ffbb23af0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x200ffbb23b00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x200ffbb23b10: 00 00 00 00 00 00 00 00 00 00 00 00 f1 f1 f1 f1
=>0x200ffbb23b20: 00 00 00 00 00 00[02]f2 f2 f2 f2 f2 00 00 00 00
0x200ffbb23b30: 00 00 02 f3 f3 f3 f3 f3 00 00 00 00 00 00 00 00
0x200ffbb23b40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x200ffbb23b50: f1 f1 f1 f1 f1 f1 04 f2 00 00 f2 f2 00 00 00 00
0x200ffbb23b60: 00 00 00 f2 f2 f2 f2 f2 00 00 00 00 00 00 00 f2
0x200ffbb23b70: f2 f2 f2 f2 00 00 00 00 00 00 00 00 f2 f2 f2 f2
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
Shadow gap: cc
==221920==ABORTING
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
---
ras-page-isolation.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/ras-page-isolation.c b/ras-page-isolation.c
index fd7bd70..caa8c31 100644
--- a/ras-page-isolation.c
+++ b/ras-page-isolation.c
@@ -171,18 +171,18 @@ parse:
config->unit = no_unit ? config->unit : "";
}
-static void parse_env_string(struct isolation *config, char *str)
+static void parse_env_string(struct isolation *config, char *str, unsigned int size)
{
int i;
if (config->overflow) {
/* when overflow, use basic unit */
for (i = 0; config->units[i].name; i++) ;
- sprintf(str, "%lu%s", config->val, config->units[i-1].name);
+ snprintf(str, size, "%lu%s", config->val, config->units[i-1].name);
log(TERM, LOG_INFO, "%s is set overflow(%s), truncate it\n",
config->name, config->env);
} else {
- sprintf(str, "%s%s", config->env, config->unit);
+ snprintf(str, size, "%s%s", config->env, config->unit);
}
}
@@ -199,8 +199,8 @@ static void page_isolation_init(void)
parse_isolation_env(&threshold);
parse_isolation_env(&cycle);
- parse_env_string(&threshold, threshold_string);
- parse_env_string(&cycle, cycle_string);
+ parse_env_string(&threshold, threshold_string, sizeof(threshold_string));
+ parse_env_string(&cycle, cycle_string, sizeof(cycle_string));
log(TERM, LOG_INFO, "Threshold of memory Corrected Errors is %s / %s\n",
threshold_string, cycle_string);
}
--
2.33.0

View File

@ -0,0 +1,32 @@
From 77600e0cd71cd5c34126635b199e7b66f4d74874 Mon Sep 17 00:00:00 2001
From: Shengwei Luo <luoshengwei@huawei.com>
Date: Tue, 23 Apr 2024 17:09:10 +0800
Subject: [PATCH] rasdaemon: Fix cpu isolate errors when some cpus are offline
before the service started.
The upstream patch use (sysconf(_SC_NPROCESSORS_ONLN)) instead of
(sysconf(_SC_NPROCESSORS_CONF)). However ras_cpu_isolation_init()
need the all cpu info, so fix it.
Fixes: f1ea76375281 ("rasdaemon: Check CPUs online, not configured")
Signed-off-by: Shengwei Luo <luoshengwei@huawei.com>
---
ras-events.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ras-events.c b/ras-events.c
index ffac02b..1aa6db6 100644
--- a/ras-events.c
+++ b/ras-events.c
@@ -950,7 +950,7 @@ int handle_ras_events(int record_events)
cpus = get_num_cpus(ras);
#ifdef HAVE_CPU_FAULT_ISOLATION
- ras_cpu_isolation_init(cpus);
+ ras_cpu_isolation_init(sysconf(_SC_NPROCESSORS_CONF));
#endif
#ifdef HAVE_MCE
--
2.33.0

View File

@ -0,0 +1,136 @@
From c306d693f86cd9e128a103b1670b653613eb78d2 Mon Sep 17 00:00:00 2001
From: luckky <guodashun1@huawei.com>
Date: Mon, 16 Dec 2024 17:20:04 +0800
Subject: [PATCH] bugfix set to default when param is overflow
1. In this patch, we check if the value is overflow before parsing the
value with its unit. we replaced sscanf with strtoul cause the strtoul
has clear errno ERANGE for overflow case.
2. When the value is overflow, the sscanf will produce Undefined Behavior
(https://man7.org/linux/man-pages/man3/sscanf.3.html#BUGS).
The final value after being truncated is confusing. So in this patch
we will set to default value when the value is overflow.
---
ras-page-isolation.c | 56 +++++++++++++++++++++++++++-----------------
1 file changed, 35 insertions(+), 21 deletions(-)
diff --git a/ras-page-isolation.c b/ras-page-isolation.c
index caa8c31..ed07b70 100644
--- a/ras-page-isolation.c
+++ b/ras-page-isolation.c
@@ -44,6 +44,7 @@ static struct isolation threshold = {
.units = threshold_units,
.env = "50",
.unit = "",
+ .val = 50,
};
static struct isolation cycle = {
@@ -51,6 +52,7 @@ static struct isolation cycle = {
.units = cycle_units,
.env = "24h",
.unit = "h",
+ .val = 86400,
};
static const char *kernel_offline[] = {
@@ -106,10 +108,24 @@ static void page_offline_init(void)
offline_choice[offline].name);
}
+/*
+ * The 'parse_isolation_env' will parse the real value from the env settings
+ * in config file. The valid format of the env is pure positive number
+ * (like '12345') or a positive number with specific units (like '24h').
+ * When the unit is not set, we use the default unit (threshold for '' and
+ * cycle for 'h').
+ * The number is only supported in decimal, while others will produce errors.
+ * This function will parse the high level units to base units (like 'h' is
+ * a high level unit and 's' is a base unit).
+ * The valid value range is [1, UNLONG_MAX], and when the value is out of
+ * range (whether the origin pure number without units or the parsed number
+ * with the base units), the value will be set to the default value.
+ */
static void parse_isolation_env(struct isolation *config)
{
char *env = getenv(config->name);
char *unit = NULL;
+ char *endptr = NULL;
const struct config *units = NULL;
int i, no_unit;
int valid = 0;
@@ -146,43 +162,41 @@ static void parse_isolation_env(struct isolation *config)
parse:
/* if invalid, use default env */
if (valid) {
- config->env = env;
if (!no_unit)
config->unit = unit;
} else {
+ env = config->env;
log(TERM, LOG_INFO, "Improper %s, set to default %s.\n",
config->name, config->env);
}
/* if env value string is greater than ulong_max, truncate the last digit */
- sscanf(config->env, "%lu", &value);
+ errno = 0;
+ value = strtoul(env, &endptr, 10);
+ if (errno == ERANGE)
+ config->overflow = true;
for (units = config->units; units->name; units++) {
if (!strcasecmp(config->unit, units->name))
unit_matched = 1;
if (unit_matched) {
tmp = value;
value *= units->val;
- if (tmp != 0 && value / tmp != units->val)
+ if (tmp != 0 && value / tmp != units->val) {
config->overflow = true;
+ break;
+ }
}
}
- config->val = value;
- /* In order to output value and unit perfectly */
- config->unit = no_unit ? config->unit : "";
-}
-
-static void parse_env_string(struct isolation *config, char *str, unsigned int size)
-{
- int i;
-
- if (config->overflow) {
- /* when overflow, use basic unit */
- for (i = 0; config->units[i].name; i++) ;
- snprintf(str, size, "%lu%s", config->val, config->units[i-1].name);
- log(TERM, LOG_INFO, "%s is set overflow(%s), truncate it\n",
- config->name, config->env);
+ if (!config->overflow) {
+ config->val = value;
+ config->env = env;
+ /* In order to output value and unit perfectly */
+ config->unit = no_unit ? config->unit : "";
} else {
- snprintf(str, size, "%s%s", config->env, config->unit);
+ log(TERM, LOG_INFO, "%s is set overflow(%s), set to default %s\n",
+ config->name, env, config->env);
+ /* In order to output value and unit perfectly */
+ config->unit = "";
}
}
@@ -199,8 +213,8 @@ static void page_isolation_init(void)
parse_isolation_env(&threshold);
parse_isolation_env(&cycle);
- parse_env_string(&threshold, threshold_string, sizeof(threshold_string));
- parse_env_string(&cycle, cycle_string, sizeof(cycle_string));
+ snprintf(threshold_string, sizeof(threshold_string), "%s%s", threshold.env, threshold.unit);
+ snprintf(cycle_string, sizeof(cycle_string), "%s%s", cycle.env, cycle.unit);
log(TERM, LOG_INFO, "Threshold of memory Corrected Errors is %s / %s\n",
threshold_string, cycle_string);
}
--
2.43.0

View File

@ -0,0 +1,25 @@
From fd9341f5f7f3896c4de2a9a90d7dc366fd2ffedc Mon Sep 17 00:00:00 2001
From: shixuantong <shixuantong1@huawei.com>
Date: Thu, 1 Dec 2022 12:39:11 +0000
Subject: [PATCH] fix ras-mc-ctl.service startup failed when selinux is on
---
util/ras-mc-ctl.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/util/ras-mc-ctl.in b/util/ras-mc-ctl.in
index 9198a23..888b4e8 100755
--- a/util/ras-mc-ctl.in
+++ b/util/ras-mc-ctl.in
@@ -39,7 +39,7 @@ my $dbname = "@RASSTATEDIR@/@RAS_DB_FNAME@";
my $prefix = "@prefix@";
my $sysconfdir = "@sysconfdir@";
my $dmidecode = find_prog ("dmidecode");
-my $modprobe = find_prog ("modprobe") or exit (1);
+my $modprobe = find_prog ("modprobe");
my $has_aer = 0;
my $has_arm = 0;
--
2.33.0

View File

@ -0,0 +1,122 @@
From bcc5779d52269b5a0b7bae42aaf2a3e650587bdb Mon Sep 17 00:00:00 2001
From: Shiju Jose <shiju.jose@huawei.com>
Date: Thu, 24 Aug 2023 13:07:17 +0100
Subject: [PATCH 12/12] rasdaemon: ras-mc-ctl: Modify check for HiSilicon
KunPeng9xx error fields
Modify check for valid HiSilicon KunPeng9xx error fields.
Fixes an error data is not printed when it's value is 0.
Signed-off-by: Shiju Jose <shiju.jose@huawei.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
---
util/ras-mc-ctl.in | 72 +++++++++++++++++++++++-----------------------
1 file changed, 36 insertions(+), 36 deletions(-)
diff --git a/util/ras-mc-ctl.in b/util/ras-mc-ctl.in
index 4178dcf..07e6fca 100755
--- a/util/ras-mc-ctl.in
+++ b/util/ras-mc-ctl.in
@@ -1672,13 +1672,13 @@ sub vendor_errors
if ($module eq 0 || ($module_id && uc($module) eq uc($module_id))) {
$out .= "$id. $timestamp Error Info: ";
$out .= "version=$version, ";
- $out .= "soc_id=$soc_id, " if ($soc_id);
- $out .= "socket_id=$socket_id, " if ($socket_id);
- $out .= "nimbus_id=$nimbus_id, " if ($nimbus_id);
- $out .= "module_id=$module_id, " if ($module_id);
- $out .= "sub_module_id=$sub_module_id, " if ($sub_module_id);
- $out .= "err_severity=$err_severity, " if ($err_severity);
- $out .= "Error Registers: $regs " if ($regs);
+ $out .= "soc_id=$soc_id, " if (defined $soc_id && length $soc_id);
+ $out .= "socket_id=$socket_id, " if (defined $socket_id && length $socket_id);
+ $out .= "nimbus_id=$nimbus_id, " if (defined $nimbus_id && length $nimbus_id);
+ $out .= "module_id=$module_id, " if (defined $module_id && length $module_id);
+ $out .= "sub_module_id=$sub_module_id, " if (defined $sub_module_id && length $sub_module_id);
+ $out .= "err_severity=$err_severity, " if (defined $err_severity && length $err_severity);
+ $out .= "Error Registers: $regs " if (defined $regs && length $regs);
$out .= "\n\n";
$found_module = 1;
}
@@ -1697,13 +1697,13 @@ sub vendor_errors
if ($module eq 0 || ($module_id && uc($module) eq uc($module_id))) {
$out .= "$id. $timestamp Error Info: ";
$out .= "version=$version, ";
- $out .= "soc_id=$soc_id, " if ($soc_id);
- $out .= "socket_id=$socket_id, " if ($socket_id);
- $out .= "nimbus_id=$nimbus_id, " if ($nimbus_id);
- $out .= "module_id=$module_id, " if ($module_id);
- $out .= "sub_module_id=$sub_module_id, " if ($sub_module_id);
- $out .= "err_severity=$err_severity, " if ($err_severity);
- $out .= "Error Registers: $regs " if ($regs);
+ $out .= "soc_id=$soc_id, " if (defined $soc_id && length $soc_id);
+ $out .= "socket_id=$socket_id, " if (defined $socket_id && length $socket_id);
+ $out .= "nimbus_id=$nimbus_id, " if (defined $nimbus_id && length $nimbus_id);
+ $out .= "module_id=$module_id, " if (defined $module_id && length $module_id);
+ $out .= "sub_module_id=$sub_module_id, " if (defined $sub_module_id && length $sub_module_id);
+ $out .= "err_severity=$err_severity, " if (defined $err_severity && length $err_severity);
+ $out .= "Error Registers: $regs " if (defined $regs && length $regs);
$out .= "\n\n";
$found_module = 1;
}
@@ -1722,15 +1722,15 @@ sub vendor_errors
if ($module eq 0 || ($sub_module_id && uc($module) eq uc($sub_module_id))) {
$out .= "$id. $timestamp Error Info: ";
$out .= "version=$version, ";
- $out .= "soc_id=$soc_id, " if ($soc_id);
- $out .= "socket_id=$socket_id, " if ($socket_id);
- $out .= "nimbus_id=$nimbus_id, " if ($nimbus_id);
- $out .= "sub_module_id=$sub_module_id, " if ($sub_module_id);
- $out .= "core_id=$core_id, " if ($core_id);
- $out .= "port_id=$port_id, " if ($port_id);
- $out .= "err_severity=$err_severity, " if ($err_severity);
- $out .= "err_type=$err_type, " if ($err_type);
- $out .= "Error Registers: $regs " if ($regs);
+ $out .= "soc_id=$soc_id, " if (defined $soc_id && length $soc_id);
+ $out .= "socket_id=$socket_id, " if (defined $socket_id && length $socket_id);
+ $out .= "nimbus_id=$nimbus_id, " if (defined $nimbus_id && length $nimbus_id);
+ $out .= "sub_module_id=$sub_module_id, " if (defined $sub_module_id && length $sub_module_id);
+ $out .= "core_id=$core_id, " if (defined $core_id && length $core_id);
+ $out .= "port_id=$port_id, " if (defined $port_id && length $port_id);
+ $out .= "err_severity=$err_severity, " if (defined $err_severity && length $err_severity);
+ $out .= "err_type=$err_type, " if (defined $err_type && length $err_type);
+ $out .= "Error Registers: $regs " if (defined $regs && length $regs);
$out .= "\n\n";
$found_module = 1;
}
@@ -1749,19 +1749,19 @@ sub vendor_errors
if ($module eq 0 || ($module_id && uc($module) eq uc($module_id))) {
$out .= "$id. $timestamp Error Info: ";
$out .= "version=$version, ";
- $out .= "soc_id=$soc_id, " if ($soc_id);
- $out .= "socket_id=$socket_id, " if ($socket_id);
- $out .= "totem_id=$totem_id, " if ($totem_id);
- $out .= "nimbus_id=$nimbus_id, " if ($nimbus_id);
- $out .= "sub_system_id=$sub_system_id, " if ($sub_system_id);
- $out .= "module_id=$module_id, " if ($module_id);
- $out .= "sub_module_id=$sub_module_id, " if ($sub_module_id);
- $out .= "core_id=$core_id, " if ($core_id);
- $out .= "port_id=$port_id, " if ($port_id);
- $out .= "err_type=$err_type, " if ($err_type);
- $out .= "pcie_info=$pcie_info, " if ($pcie_info);
- $out .= "err_severity=$err_severity, " if ($err_severity);
- $out .= "Error Registers: $regs" if ($regs);
+ $out .= "soc_id=$soc_id, " if (defined $soc_id && length $soc_id);
+ $out .= "socket_id=$socket_id, " if (defined $socket_id && length $socket_id);
+ $out .= "totem_id=$totem_id, " if (defined $totem_id && length $totem_id);
+ $out .= "nimbus_id=$nimbus_id, " if (defined $nimbus_id && length $nimbus_id);
+ $out .= "sub_system_id=$sub_system_id, " if (defined $sub_system_id && length $sub_system_id);
+ $out .= "module_id=$module_id, " if (defined $module_id && length $module_id);
+ $out .= "sub_module_id=$sub_module_id, " if (defined $sub_module_id && length $sub_module_id);
+ $out .= "core_id=$core_id, " if (defined $core_id && length $core_id );
+ $out .= "port_id=$port_id, " if (defined $port_id && length $port_id);
+ $out .= "err_type=$err_type, " if (defined $err_type && length $err_type);
+ $out .= "pcie_info=$pcie_info, " if (defined $pcie_info && length $pcie_info);
+ $out .= "err_severity=$err_severity, " if (defined $err_severity && length $err_severity);
+ $out .= "Error Registers: $regs" if (defined $regs && length $regs);
$out .= "\n\n";
$found_module = 1;
}
--
2.25.1

View File

@ -1,6 +1,6 @@
Name: rasdaemon
Version: 0.8.0
Release: 1
Release: 6
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
@ -20,6 +20,9 @@ Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
Patch0: backport-Fix-potential-overflow-with-some-arrays-at-page-isol.patch
Patch1: fix-ras-mc-ctl.service-startup-failed-when-selinux-is-no.patch
Patch9000: bugfix-rasdaemon-wait-for-file-access.patch
Patch9001: bugfix-fix-fd-check.patch
Patch9002: bugfix-fix-disk-error-log-storm.patch
@ -29,6 +32,9 @@ Patch9005: 0002-rasdaemon-fix-issue-of-signed-and-unsigned-integer-c.patch
Patch9006: 0003-rasdaemon-Add-support-for-creating-the-vendor-error-.patch
Patch9007: backport-Check-CPUs-online-not-configured.patch
Patch9008: backport-rasdaemon-diskerror-fix-incomplete-diskerror-log.patch
Patch9009: bugfix-fix-cpu-isolate-errors-when-some-cpus-are-.patch
Patch9010: rasdaemon-ras-mc-ctl-Modify-check-for-HiSilicon-KunP.patch
Patch9011: bugfix-set-to-default-when-param-is-overflow.patch
%description
The rasdaemon program is a daemon which monitors the platform
@ -80,6 +86,37 @@ fi
/usr/bin/systemctl disable rasdaemon.service >/dev/null 2>&1 || :
%changelog
* Mon Dec 16 2024 guodashun <guodashun1@huawei.com> - 0.8.0-6
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:set to default when param is overflow
* Thu Apr 25 2024 Bing Xia <xiabing12@h-partners.com> - 0.8.0-5
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:Modify check for HiSilicon KunPeng9xx error fields.
* Tue Apr 23 2024 luoshengwei <luoshengwei@huawei.com> - 0.8.0-4
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:fix cpu isolate errors when some cpus are offline
before the service started
* Wed Mar 27 2024 zhuofeng <zhuofeng2@huawei.com> - 0.8.0-3
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:fix ras-mc-ctl.service startup failed when selinux is on
* Mon Mar 25 2024 zhangruifang <zhangruifang@h-partners.com> - 0.8.0-2
- Type:bugfix
- ID:NA
- SUG:NA
- DESC: backport patches from upstream
* Mon Jan 29 2024 zhuofeng <zhuofeng2@huawei.com> - 0.8.0-1
- Type:bugfix
- ID:NA