diff options
author | mav <mav@FreeBSD.org> | 2015-02-02 12:09:42 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2015-02-02 12:09:42 +0000 |
commit | 900f0a33cf0862bbce70b0185bd7673d94f35886 (patch) | |
tree | 962eb7e5905da19c517063a48f7dc0824f5827c5 /sys | |
parent | 6ca887b6208f6cbefff501b5c3263e36839d374e (diff) | |
download | FreeBSD-src-900f0a33cf0862bbce70b0185bd7673d94f35886.zip FreeBSD-src-900f0a33cf0862bbce70b0185bd7673d94f35886.tar.gz |
MFC r277758: Fix several potential overflows in UNMAP code.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/cam/scsi/scsi_da.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/sys/cam/scsi/scsi_da.c b/sys/cam/scsi/scsi_da.c index ba646b2..9bc83b1 100644 --- a/sys/cam/scsi/scsi_da.c +++ b/sys/cam/scsi/scsi_da.c @@ -1914,18 +1914,18 @@ dadeletemaxsize(struct da_softc *softc, da_delete_methods delete_method) sectors = (off_t)ATA_DSM_RANGE_MAX * softc->trim_max_ranges; break; case DA_DELETE_WS16: - sectors = (off_t)min(softc->ws_max_blks, WS16_MAX_BLKS); + sectors = omin(softc->ws_max_blks, WS16_MAX_BLKS); break; case DA_DELETE_ZERO: case DA_DELETE_WS10: - sectors = (off_t)min(softc->ws_max_blks, WS10_MAX_BLKS); + sectors = omin(softc->ws_max_blks, WS10_MAX_BLKS); break; default: return 0; } return (off_t)softc->params.secsize * - min(sectors, (off_t)softc->params.sectors); + omin(sectors, softc->params.sectors); } static void @@ -2688,7 +2688,7 @@ da_delete_trim(struct cam_periph *periph, union ccb *ccb, struct bio *bp) /* Try to extend the previous range. */ if (lba == lastlba) { - c = min(count, ATA_DSM_RANGE_MAX - lastcount); + c = omin(count, ATA_DSM_RANGE_MAX - lastcount); lastcount += c; off = (ranges - 1) * 8; buf[off + 6] = lastcount & 0xff; @@ -2698,7 +2698,7 @@ da_delete_trim(struct cam_periph *periph, union ccb *ccb, struct bio *bp) } while (count > 0) { - c = min(count, ATA_DSM_RANGE_MAX); + c = omin(count, ATA_DSM_RANGE_MAX); off = ranges * 8; buf[off + 0] = lba & 0xff; @@ -2774,7 +2774,7 @@ da_delete_ws(struct cam_periph *periph, union ccb *ccb, struct bio *bp) "%s issuing short delete %ld > %ld\n", da_delete_method_desc[softc->delete_method], count, ws_max_blks); - count = min(count, ws_max_blks); + count = omin(count, ws_max_blks); break; } bp1 = bioq_first(&softc->delete_queue); |