From e71d5c7331700504e58cf1a35dca529381723e02 Mon Sep 17 00:00:00 2001 From: Mateusz Guzik Date: Sat, 22 May 2021 20:12:31 +0000 Subject: [PATCH] Fix limit testing after 1762f674ccb571e6 ktrace commit. The previous: if ((uoff_t)uio->uio_offset + uio->uio_resid > lim) signal(....); was replaced with: if ((uoff_t)uio->uio_offset + uio->uio_resid < lim) return; signal(....); Making (uoff_t)uio->uio_offset + uio->uio_resid == lim trip over the limit, when it did not previously. Unbreaks running 13.0 buildworld. --- sys/kern/vfs_vnops.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index 9e45d1820eec..34fcef1b7e1f 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -2368,7 +2368,7 @@ vn_rlimit_fsize(const struct vnode *vp, const struct uio *uio, return (0); ktr_write = (td->td_pflags & TDP_INKTRACE) != 0; lim = ktr_write ? td->td_ktr_io_lim : lim_cur(td, RLIMIT_FSIZE); - if ((uoff_t)uio->uio_offset + uio->uio_resid < lim) + if ((uoff_t)uio->uio_offset + uio->uio_resid <= lim) return (0); if (!ktr_write || ktr_filesize_limit_signal) {