DF-2481 / fix.diff
diff --git a/sys/dev/disk/mpt/mpt.c b/sys/dev/disk/mpt/mpt.c --- a/sys/dev/disk/mpt/mpt.c +++ b/sys/dev/disk/mpt/mpt.c @@ -2677,6 +2677,10 @@ * */ /* total number of request areas we (can) allocate */ + if (mpt->ioc_facts.RequestFrameSize == 0) { + mpt_prt(mpt, "IOCFACTS reports RequestFrameSize of 0; aborting attach\n"); + return (EINVAL); + } mpt->max_seg_cnt = MPT_MAX_REQUESTS(mpt) - 2; /* converted to the number of chain areas possible */ |