aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/kern_sendfile.c
diff options
context:
space:
mode:
authorChuck Silvers <chs@FreeBSD.org>2020-03-04 00:22:50 +0000
committerChuck Silvers <chs@FreeBSD.org>2020-03-04 00:22:50 +0000
commit37bf88e790d3e2a9af4349156ac5e85ae7d83e43 (patch)
tree916499ed4fd90da2377af6cf84c516adf804f24a /sys/kern/kern_sendfile.c
parent2bde6d4e7289dbf12b3747b24aea39b6e37e0855 (diff)
downloadsrc-37bf88e790d3e2a9af4349156ac5e85ae7d83e43.tar.gz
src-37bf88e790d3e2a9af4349156ac5e85ae7d83e43.zip
if vm_pager_get_pages_async() returns an error, release the sfio->nios
refcount that we took earlier that represents the I/O that ended up not being started. Reviewed by: glebius Approved by: imp (mentor) Sponsored by: Netflix
Notes
Notes: svn path=/head/; revision=358597
Diffstat (limited to 'sys/kern/kern_sendfile.c')
-rw-r--r--sys/kern/kern_sendfile.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/kern/kern_sendfile.c b/sys/kern/kern_sendfile.c
index a12f0a1b75e8..b161ae883294 100644
--- a/sys/kern/kern_sendfile.c
+++ b/sys/kern/kern_sendfile.c
@@ -454,6 +454,7 @@ sendfile_swapin(vm_object_t obj, struct sf_io *sfio, int *nios, off_t off,
__func__, pa, j));
vm_page_unwire(pa[j], PQ_INACTIVE);
}
+ refcount_release(&sfio->nios);
return (EIO);
}