diff options
-rw-r--r-- | sys/geom/geom_disk.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/geom/geom_disk.c b/sys/geom/geom_disk.c index bddb1c9..9145b3b 100644 --- a/sys/geom/geom_disk.c +++ b/sys/geom/geom_disk.c @@ -180,6 +180,8 @@ g_disk_kerneldump(struct bio *bp, struct disk *dp) di.priv = dp; di.blocksize = dp->d_sectorsize; di.mediaoffset = gkd->offset; + if ((gkd->offset + gkd->length) > dp->d_mediasize) + gkd->length = dp->d_mediasize - gkd->offset; di.mediasize = gkd->length; error = set_dumper(&di); g_io_deliver(bp, error); |