summaryrefslogtreecommitdiffstats
path: root/sbin/geom
diff options
context:
space:
mode:
authorpjd <pjd@FreeBSD.org>2014-01-04 09:27:49 +0000
committerpjd <pjd@FreeBSD.org>2014-01-04 09:27:49 +0000
commit687fee2804bd8a3fab9bc2b1d7f5ccfbf8ee0ad0 (patch)
tree2c52c7857a0815d337a553811df427bac262e65d /sbin/geom
parent3348884113f59fbea032b4b711df785ad8852174 (diff)
downloadFreeBSD-src-687fee2804bd8a3fab9bc2b1d7f5ccfbf8ee0ad0.zip
FreeBSD-src-687fee2804bd8a3fab9bc2b1d7f5ccfbf8ee0ad0.tar.gz
Don't allow to create GELI providers with a sector size, which is no a
power of 2. Noticed by: rwatson MFC after: 3 days
Diffstat (limited to 'sbin/geom')
-rw-r--r--sbin/geom/class/eli/geom_eli.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sbin/geom/class/eli/geom_eli.c b/sbin/geom/class/eli/geom_eli.c
index 3eee6f2..7df4d90 100644
--- a/sbin/geom/class/eli/geom_eli.c
+++ b/sbin/geom/class/eli/geom_eli.c
@@ -789,7 +789,7 @@ eli_init(struct gctl_req *req)
if (val == 0)
md.md_sectorsize = secsize;
else {
- if (val < 0 || (val % secsize) != 0) {
+ if (val < 0 || (val % secsize) != 0 || !powerof2(val)) {
gctl_error(req, "Invalid sector size.");
return;
}
OpenPOWER on IntegriCloud