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; _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"