diff options
author | Alan Somers <asomers@FreeBSD.org> | 2022-11-09 02:59:50 +0000 |
---|---|---|
committer | Alan Somers <asomers@FreeBSD.org> | 2022-11-09 17:21:12 +0000 |
commit | 05d0f4308caaa3e9b8cbcbb30b2d7f39dd367a57 (patch) | |
tree | 4853775d1ce4dde77d28b78b4518ba969e90eb1d /sys/geom/label/g_label_ufs.c | |
parent | 817f1f3064db25f821032c8fffb131183206bba1 (diff) | |
download | src-05d0f4308caaa3e9b8cbcbb30b2d7f39dd367a57.tar.gz src-05d0f4308caaa3e9b8cbcbb30b2d7f39dd367a57.zip |
Don't panic when tasting a disk with sectorsize=0
This can sometimes happen with broken HDDs.
MFC after: 2 weeks
Sponsored by: Axcient
Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D37313
Diffstat (limited to 'sys/geom/label/g_label_ufs.c')
-rw-r--r-- | sys/geom/label/g_label_ufs.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/geom/label/g_label_ufs.c b/sys/geom/label/g_label_ufs.c index 691f875cf6cc..9f22427666e9 100644 --- a/sys/geom/label/g_label_ufs.c +++ b/sys/geom/label/g_label_ufs.c @@ -139,6 +139,7 @@ g_label_ufs_taste_common(struct g_consumer *cp, char *label, size_t size, int wh label[0] = '\0'; fs = NULL; + KASSERT(pp->sectorsize != 0, ("Tasting a disk with 0 sectorsize")); if (SBLOCKSIZE % pp->sectorsize != 0 || ffs_sbget(cp, &fs, UFS_STDSB, UFS_NOHASHFAIL | UFS_NOCSUM | UFS_NOMSG, M_GEOM, g_use_g_read_data) != 0) { |