Provide the same sanity check on the sector size in dagetcapacity as when the

disk is first probed. dagetcapacity is called whenever the disk is opened from
geom via d_open(), a zero sector size will cause geom to panic later on.
This commit is contained in:
Andrew Thompson 2009-11-02 23:30:15 +00:00
parent 1f72185627
commit bd6d02e7e9

View File

@ -1948,8 +1948,15 @@ dagetcapacity(struct cam_periph *periph)
done:
if (error == 0)
dasetgeom(periph, block_len, maxsector);
if (error == 0) {
if (block_len >= MAXPHYS || block_len == 0) {
xpt_print(periph->path,
"unsupportable block size %ju\n",
(uintmax_t) block_len);
error = EINVAL;
} else
dasetgeom(periph, block_len, maxsector);
}
xpt_release_ccb(ccb);