Dan Williams: imsm: fix thunderdome segfault
Martin F. Krafft
madduck at alioth.debian.org
Wed Jan 27 02:04:03 UTC 2010
Module: mdadm
Branch: upstream
Commit: ecf408e9149dbd6ef61fdcbc92c5816c0eb7fc84
URL: http://git.debian.org/?p=pkg-mdadm/mdadm.git;a=commit;h=ecf408e9149dbd6ef61fdcbc92c5816c0eb7fc84
Author: Dan Williams <dan.j.williams at intel.com>
Date: Sat Dec 12 13:57:25 2009 -0700
imsm: fix thunderdome segfault
disk_list_get() can return NULL if:
1/ A formerly missing disk is re-added
2/ The original array has not been rebuilt, so the family number of the
missing disk still matches
3/ The metadata record of the in-sync disks are read before the missing
disk
This will result in the missing disk not adding its own serial number to
the disk_list, only its truncated value will be present.
Signed-off-by: Dan Williams <dan.j.williams at intel.com>
---
super-intel.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/super-intel.c b/super-intel.c
index 39a2985..2d5796f 100644
--- a/super-intel.c
+++ b/super-intel.c
@@ -2429,7 +2429,7 @@ imsm_thunderdome(struct intel_super **super_list, int len)
struct intel_disk *idisk;
idisk = disk_list_get(dl->serial, disk_list);
- if (is_spare(&idisk->disk) &&
+ if (idisk && is_spare(&idisk->disk) &&
!is_failed(&idisk->disk) && !is_configured(&idisk->disk))
dl->index = -1;
else {
More information about the pkg-mdadm-commits
mailing list