summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2015-02-02 12:09:42 +0000
committermav <mav@FreeBSD.org>2015-02-02 12:09:42 +0000
commit900f0a33cf0862bbce70b0185bd7673d94f35886 (patch)
tree962eb7e5905da19c517063a48f7dc0824f5827c5
parent6ca887b6208f6cbefff501b5c3263e36839d374e (diff)
downloadFreeBSD-src-900f0a33cf0862bbce70b0185bd7673d94f35886.zip
FreeBSD-src-900f0a33cf0862bbce70b0185bd7673d94f35886.tar.gz
MFC r277758: Fix several potential overflows in UNMAP code.
-rw-r--r--sys/cam/scsi/scsi_da.c12
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);
OpenPOWER on IntegriCloud