svn commit: r340187 - head/sys/geom
Maxim Sobolev
sobomax at FreeBSD.org
Tue Nov 6 15:55:42 UTC 2018
Author: sobomax
Date: Tue Nov 6 15:55:41 2018
New Revision: 340187
URL: https://svnweb.freebsd.org/changeset/base/340187
Log:
Don't allow BIO_READ, BIO_WRITE or BIO_DELETE requests that are
fully beyond the end of providers media. The only exception is made
for the zero length transfers which are allowed to be just on the
boundary. Previously, any requests starting on the boundary (i.e. next
byte after the last one) have been allowed to go through.
No response from: freebsd-geom@, phk
MFC after: 1 month
Modified:
head/sys/geom/geom_io.c
Modified: head/sys/geom/geom_io.c
==============================================================================
--- head/sys/geom/geom_io.c Tue Nov 6 15:52:49 2018 (r340186)
+++ head/sys/geom/geom_io.c Tue Nov 6 15:55:41 2018 (r340187)
@@ -420,6 +420,8 @@ g_io_check(struct bio *bp)
return (EIO);
if (bp->bio_offset > pp->mediasize)
return (EIO);
+ if (bp->bio_offset == pp->mediasize && bp->bio_length > 0)
+ return (EIO);
/* Truncate requests to the end of providers media. */
excess = bp->bio_offset + bp->bio_length;
More information about the svn-src-all
mailing list