diff options
author | pjd <pjd@FreeBSD.org> | 2014-01-04 09:27:49 +0000 |
---|---|---|
committer | pjd <pjd@FreeBSD.org> | 2014-01-04 09:27:49 +0000 |
commit | 687fee2804bd8a3fab9bc2b1d7f5ccfbf8ee0ad0 (patch) | |
tree | 2c52c7857a0815d337a553811df427bac262e65d /sbin/geom | |
parent | 3348884113f59fbea032b4b711df785ad8852174 (diff) | |
download | FreeBSD-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.c | 2 |
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; } |