DragonFlyBSD Kernel Audit
DF-1019 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/bus/cam/scsi/scsi_da.c b/sys/bus/cam/scsi/scsi_da.c
--- a/sys/bus/cam/scsi/scsi_da.c
+++ b/sys/bus/cam/scsi/scsi_da.c
@@ -440,8 +440,10 @@
 		bytes_start = del_num[0];
 
 		/* TRIM occurs on 512-byte sectors. */
-		KKASSERT((bytes_left % 512) == 0);
-		KKASSERT((bytes_start% 512) == 0);
+		if ((bytes_left % 512) != 0 || (bytes_start % 512) != 0) {
+			error = EINVAL;
+			break;
+		}
 
 		
 		/* Break TRIM up into int-sized commands because of b_bcount */