From e4e060fa9e549de7822c3931c1919f5b2ac44b6e Mon Sep 17 00:00:00 2001 From: pjd Date: Tue, 10 Oct 2006 15:01:47 +0000 Subject: Guard against invalid metadata. MFC after: 1 week --- sys/geom/raid3/g_raid3.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'sys/geom') diff --git a/sys/geom/raid3/g_raid3.c b/sys/geom/raid3/g_raid3.c index ba8b886..66383bc 100644 --- a/sys/geom/raid3/g_raid3.c +++ b/sys/geom/raid3/g_raid3.c @@ -2859,6 +2859,12 @@ g_raid3_check_metadata(struct g_raid3_softc *sc, struct g_provider *pp, "md_all", pp->name, sc->sc_name); return (EINVAL); } + if ((md->md_mediasize % md->md_sectorsize) != 0) { + G_RAID3_DEBUG(1, "Invalid metadata (mediasize %% sectorsize != " + "0) on disk %s (device %s), skipping.", pp->name, + sc->sc_name); + return (EINVAL); + } if (md->md_mediasize != sc->sc_mediasize) { G_RAID3_DEBUG(1, "Invalid '%s' field on disk %s (device %s), skipping.", -- cgit v1.1