From: martin f. krafft Date: Sun, 30 Sep 2007 12:22:56 +0000 (+0100) Subject: Fix segfault on assembly on amd64 with v1 superblocks X-Git-Tag: mdadm-2.6.4~7 X-Git-Url: http://git.ipfire.org/?p=thirdparty%2Fmdadm.git;a=commitdiff_plain;h=cf3370c7a7e8185542cecf1c21f1735833d3c2c4 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 --- diff --git a/super1.c b/super1.c index 52783e77..06c26554 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)) {