diff options
Diffstat (limited to 'sys/geom/geom_dev.c')
-rw-r--r-- | sys/geom/geom_dev.c | 4 |
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, |