summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/geom/geom_dev.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/geom/geom_dev.c b/sys/geom/geom_dev.c
index d50b0b5..186b136 100644
--- a/sys/geom/geom_dev.c
+++ b/sys/geom/geom_dev.c
@@ -388,7 +388,11 @@ g_dev_strategy(struct bio *bp)
gp = dev->si_drv1;
cp = dev->si_drv2;
bp2 = g_clone_bio(bp);
+ KASSERT(bp2 != NULL, ("XXX: ENOMEM in a bad place"));
bp2->bio_offset = (off_t)bp->bio_blkno << DEV_BSHIFT;
+ KASSERT(bp2->bio_offset >= 0,
+ ("Negative bio_offset (%jd) on bio %p",
+ (intmax_t)bp2->bio_offset, bp));
bp2->bio_length = (off_t)bp->bio_bcount;
bp2->bio_done = g_dev_done;
g_trace(G_T_BIO,
OpenPOWER on IntegriCloud