mdadm: backport upstream bugfix patch to fix segfault problem in monitor.c
fix issue:https://gitee.com/src-openeuler/mdadm/issues/I611EL Signed-off-by: Zhiqiang Liu <liuzhiqiang26@huawei.com> (cherry picked from commit 5b9ae7e1c802fb1081c5e4be3f693e18673b5147)
This commit is contained in:
parent
fe67177a9a
commit
50418b0cd7
@ -0,0 +1,35 @@
|
|||||||
|
From 9ae62977b51dab0f4bb46b1c8ea5ebd1705b2f4d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Logan Gunthorpe <logang@deltatee.com>
|
||||||
|
Date: Wed, 22 Jun 2022 14:25:10 -0600
|
||||||
|
Subject: [PATCH] monitor: Avoid segfault when calling NULL get_bad_blocks
|
||||||
|
|
||||||
|
Not all struct superswitch implement a get_bad_blocks() function,
|
||||||
|
yet mdmon seems to call it without checking for NULL and thus
|
||||||
|
occasionally segfaults in the test 10ddf-geometry.
|
||||||
|
|
||||||
|
Fix this by checking for NULL before calling it.
|
||||||
|
|
||||||
|
Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
|
||||||
|
Acked-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
|
||||||
|
Signed-off-by: Jes Sorensen <jes@trained-monkey.org>
|
||||||
|
---
|
||||||
|
monitor.c | 3 +++
|
||||||
|
1 file changed, 3 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/monitor.c b/monitor.c
|
||||||
|
index b877e595..820a93d0 100644
|
||||||
|
--- a/monitor.c
|
||||||
|
+++ b/monitor.c
|
||||||
|
@@ -311,6 +311,9 @@ static int check_for_cleared_bb(struct active_array *a, struct mdinfo *mdi)
|
||||||
|
struct md_bb *bb;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
+ if (!ss->get_bad_blocks)
|
||||||
|
+ return -1;
|
||||||
|
+
|
||||||
|
/*
|
||||||
|
* Get a list of bad blocks for an array, then read list of
|
||||||
|
* acknowledged bad blocks from kernel and compare it against metadata
|
||||||
|
--
|
||||||
|
2.33.0
|
||||||
|
|
||||||
@ -1,6 +1,6 @@
|
|||||||
Name: mdadm
|
Name: mdadm
|
||||||
Version: 4.1
|
Version: 4.1
|
||||||
Release: rc2.0.10
|
Release: rc2.0.11
|
||||||
Summary: The software RAID arrays user manage tools
|
Summary: The software RAID arrays user manage tools
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
URL: http://www.kernel.org/pub/linux/utils/raid/mdadm/
|
URL: http://www.kernel.org/pub/linux/utils/raid/mdadm/
|
||||||
@ -25,6 +25,7 @@ Patch6011: 6011-add-missing-units-to-examine.patch
|
|||||||
Patch6012: 6012-Create-Block-rounding-size-to-max.patch
|
Patch6012: 6012-Create-Block-rounding-size-to-max.patch
|
||||||
Patch6013: 6013-mdadm-fix-coredump-of-mdadm-monitor-r.patch
|
Patch6013: 6013-mdadm-fix-coredump-of-mdadm-monitor-r.patch
|
||||||
Patch6014: 6014-mdadm-Fix-mdadm-r-remove-option-regresision.patch
|
Patch6014: 6014-mdadm-Fix-mdadm-r-remove-option-regresision.patch
|
||||||
|
Patch6015: 6015-monitor-Avoid-segfault-when-calling-NULL-get_bad_blo.patch
|
||||||
|
|
||||||
BuildRequires: systemd gcc binutils
|
BuildRequires: systemd gcc binutils
|
||||||
Requires(post): systemd coreutils
|
Requires(post): systemd coreutils
|
||||||
@ -87,6 +88,9 @@ install -d -m 710 %{buildroot}/var/run/mdadm/
|
|||||||
%{_mandir}/man*/*
|
%{_mandir}/man*/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Nov 14 2022 Zhiqiang Liu <liuzhiqiang26@huawei.com> - 4.1-rc2.0.11
|
||||||
|
- backport upstream bugfix patch to fix segfault problem in monitor.c
|
||||||
|
|
||||||
* Mon Jun 27 2022 Zhiqiang Liu <liuzhiqiang26@huawei.com> - 4.1-rc2.0.10
|
* Mon Jun 27 2022 Zhiqiang Liu <liuzhiqiang26@huawei.com> - 4.1-rc2.0.10
|
||||||
- fix segfault of --monitor -r
|
- fix segfault of --monitor -r
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user