summaryrefslogtreecommitdiffstats
path: root/sys/compat
diff options
context:
space:
mode:
authoradrian <adrian@FreeBSD.org>2013-11-26 08:32:37 +0000
committeradrian <adrian@FreeBSD.org>2013-11-26 08:32:37 +0000
commitf447b2ef4329bde3f84c0b8d1dd9d0ac291e4a9a (patch)
tree34a082cf1e1eb7f424cc1b084d7f4dada758f4e7 /sys/compat
parentdd4ca35fdce089c9be936fba8b1a4b5a741fb2b1 (diff)
downloadFreeBSD-src-f447b2ef4329bde3f84c0b8d1dd9d0ac291e4a9a.zip
FreeBSD-src-f447b2ef4329bde3f84c0b8d1dd9d0ac291e4a9a.tar.gz
Fix the compat32 sendfile() to be in line with my recent changes.
Reminded by: kib
Diffstat (limited to 'sys/compat')
-rw-r--r--sys/compat/freebsd32/freebsd32_misc.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/compat/freebsd32/freebsd32_misc.c b/sys/compat/freebsd32/freebsd32_misc.c
index deb03f3..9a5dd43 100644
--- a/sys/compat/freebsd32/freebsd32_misc.c
+++ b/sys/compat/freebsd32/freebsd32_misc.c
@@ -1652,6 +1652,7 @@ freebsd32_do_sendfile(struct thread *td,
cap_rights_t rights;
off_t offset;
int error;
+ off_t sbytes;
offset = PAIR32TO64(off_t, uap->offset);
if (offset < 0)
@@ -1692,8 +1693,10 @@ freebsd32_do_sendfile(struct thread *td,
}
error = fo_sendfile(fp, uap->s, hdr_uio, trl_uio, offset,
- uap->nbytes, uap->sbytes, uap->flags, compat ? SFK_COMPAT : 0, td);
+ uap->nbytes, &sbytes, uap->flags, compat ? SFK_COMPAT : 0, td);
fdrop(fp, td);
+ if (uap->sbytes != NULL)
+ copyout(&sbytes, uap->sbytes, sizeof(off_t));
out:
if (hdr_uio)
OpenPOWER on IntegriCloud