From 787df454c8175e58131f582c05c169070fb6ca7c Mon Sep 17 00:00:00 2001 From: Warner Losh Date: Fri, 21 Oct 2022 17:39:34 -0600 Subject: [PATCH] stabd/geli: Bail out if you can't get the disks size If the DIOCGMEDIASIZE ioctl fails, assume the disk doesn't have geli encryption. While all disks should implement this, fail safe for disks / partitions that do not. Sponsored by: Netflix --- stand/libsa/geli/gelidev.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/stand/libsa/geli/gelidev.c b/stand/libsa/geli/gelidev.c index 5f1143399fb3..2dd686c81883 100644 --- a/stand/libsa/geli/gelidev.c +++ b/stand/libsa/geli/gelidev.c @@ -302,7 +302,8 @@ geli_probe_and_attach(struct open_file *f) hdesc = (struct disk_devdesc *)(f->f_devdata); /* Get the last block number for the host provider. */ - hdesc->dd.d_dev->dv_ioctl(f, DIOCGMEDIASIZE, &hmediasize); + if (hdesc->dd.d_dev->dv_ioctl(f, DIOCGMEDIASIZE, &hmediasize) != 0) + return; hlastblk = (hmediasize / DEV_BSIZE) - 1; /* Taste the host provider. If it's not geli-encrypted just return. */