summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormartin f. krafft <madduck@debian.org>2007-09-30 13:22:56 +0100
committermartin f. krafft <madduck@debian.org>2007-09-30 13:28:56 +0100
commitcf3370c7a7e8185542cecf1c21f1735833d3c2c4 (patch)
treee2fa89fda7a733bf43888725597f6115a4fb4848
parent4450e59ffaf75623fa4261e244b0717a7463aa84 (diff)
downloadmdadm-cf3370c7a7e8185542cecf1c21f1735833d3c2c4.tar.gz
mdadm-cf3370c7a7e8185542cecf1c21f1735833d3c2c4.tar.xz
mdadm-cf3370c7a7e8185542cecf1c21f1735833d3c2c4.zip
Fix segfault on assembly on amd64 with v1 superblocks
Commit a40b4fe introduced a temporary supertype variable tst, instead of manipulating st directly. However, it was forgotton to pass &tst into the recursive load_super1 call, causing an infinite recursion. Signed-off-by: martin f. krafft <madduck@debian.org>
-rw-r--r--super1.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/super1.c b/super1.c
index 52783e7..06c2655 100644
--- a/super1.c
+++ b/super1.c
@@ -1001,7 +1001,7 @@ static int load_super1(struct supertype *st, int fd, void **sbp, char *devname)
/* guess... choose latest ctime */
tst.ss = &super1;
for (tst.minor_version = 0; tst.minor_version <= 2 ; tst.minor_version++) {
- switch(load_super1(st, fd, sbp, devname)) {
+ switch(load_super1(&tst, fd, sbp, devname)) {
case 0: super = *sbp;
if (bestvers == -1 ||
bestctime < __le64_to_cpu(super->ctime)) {