From 3843d88ca8cb214593db38aa2d8ab548e3592426 Mon Sep 17 00:00:00 2001 From: Mark Johnston Date: Tue, 26 Feb 2019 18:30:51 +0000 Subject: [PATCH] Add a missing return statement to g_concat_kernel_dump(). The error occurs when upper layers attempt an out-of-bounds write. Submitted by: Noah Bergbauer MFC after: 1 week --- sys/geom/concat/g_concat.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/geom/concat/g_concat.c b/sys/geom/concat/g_concat.c index df30c379ed92..a0a95b85aba0 100644 --- a/sys/geom/concat/g_concat.c +++ b/sys/geom/concat/g_concat.c @@ -238,8 +238,10 @@ g_concat_kernel_dump(struct bio *bp) sc->sc_disks[i].d_end > gkd->offset) break; } - if (i == sc->sc_ndisks) + if (i == sc->sc_ndisks) { g_io_deliver(bp, EOPNOTSUPP); + return; + } disk = &sc->sc_disks[i]; gkd->offset -= disk->d_start; if (gkd->length > disk->d_end - disk->d_start - gkd->offset)