summaryrefslogtreecommitdiffstats
path: root/sys/geom/raid3
diff options
context:
space:
mode:
authorpjd <pjd@FreeBSD.org>2006-02-22 10:21:05 +0000
committerpjd <pjd@FreeBSD.org>2006-02-22 10:21:05 +0000
commit46e57ae3d3c71f7a1b50e924adeabc7f62592f87 (patch)
treee5b52179db30f3abc471fac8f563cd2e8f16f14f /sys/geom/raid3
parent1220194bac0033c0f2309a33a3b26d071fda137f (diff)
downloadFreeBSD-src-46e57ae3d3c71f7a1b50e924adeabc7f62592f87.zip
FreeBSD-src-46e57ae3d3c71f7a1b50e924adeabc7f62592f87.tar.gz
Do not use bio structure after g_io_deliver(), it may not longer by valid.
Found and fixed by: Vsevolod Lobko <seva@ip.net.ua> MFC after: 3 days
Diffstat (limited to 'sys/geom/raid3')
-rw-r--r--sys/geom/raid3/g_raid3.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/geom/raid3/g_raid3.c b/sys/geom/raid3/g_raid3.c
index e10c394..bbfe165 100644
--- a/sys/geom/raid3/g_raid3.c
+++ b/sys/geom/raid3/g_raid3.c
@@ -1204,9 +1204,9 @@ finish:
G_RAID3_LOGREQ(0, pbp, "Request failed.");
}
pbp->bio_pflags &= ~G_RAID3_BIO_PFLAG_MASK;
- g_io_deliver(pbp, pbp->bio_error);
while ((cbp = G_RAID3_HEAD_BIO(pbp)) != NULL)
g_raid3_destroy_bio(sc, cbp);
+ g_io_deliver(pbp, pbp->bio_error);
}
static void
OpenPOWER on IntegriCloud