diff options
author | pjd <pjd@FreeBSD.org> | 2006-02-22 10:21:05 +0000 |
---|---|---|
committer | pjd <pjd@FreeBSD.org> | 2006-02-22 10:21:05 +0000 |
commit | 46e57ae3d3c71f7a1b50e924adeabc7f62592f87 (patch) | |
tree | e5b52179db30f3abc471fac8f563cd2e8f16f14f /sys/geom/raid3 | |
parent | 1220194bac0033c0f2309a33a3b26d071fda137f (diff) | |
download | FreeBSD-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.c | 2 |
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 |