summaryrefslogtreecommitdiffstats
path: root/sys/compat
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2011-10-14 11:46:46 +0000
committerjhb <jhb@FreeBSD.org>2011-10-14 11:46:46 +0000
commit58bffa17cebc28425c847d421c8efbab951bdfa0 (patch)
tree40124fabfd282f6bf45e96c265ac00ad83193768 /sys/compat
parent6f6341d894adecf4192cce202051a62b8ba404e6 (diff)
downloadFreeBSD-src-58bffa17cebc28425c847d421c8efbab951bdfa0.zip
FreeBSD-src-58bffa17cebc28425c847d421c8efbab951bdfa0.tar.gz
Use PAIR32TO64() for the offset and length parameters to
freebsd32_posix_fallocate() to properly handle big-endian platforms. Reviewed by: mdf MFC after: 1 week
Diffstat (limited to 'sys/compat')
-rw-r--r--sys/compat/freebsd32/freebsd32_misc.c4
-rw-r--r--sys/compat/freebsd32/syscalls.master4
2 files changed, 4 insertions, 4 deletions
diff --git a/sys/compat/freebsd32/freebsd32_misc.c b/sys/compat/freebsd32/freebsd32_misc.c
index 45f9b21..6638ec8 100644
--- a/sys/compat/freebsd32/freebsd32_misc.c
+++ b/sys/compat/freebsd32/freebsd32_misc.c
@@ -2831,7 +2831,7 @@ freebsd32_posix_fallocate(struct thread *td,
struct posix_fallocate_args ap;
ap.fd = uap->fd;
- ap.offset = (uap->offsetlo | ((off_t)uap->offsethi << 32));
- ap.len = (uap->lenlo | ((off_t)uap->lenhi << 32));
+ ap.offset = PAIR32TO64(off_t, uap->offset);
+ ap.len = PAIR32TO64(off_t, uap->len);
return (sys_posix_fallocate(td, &ap));
}
diff --git a/sys/compat/freebsd32/syscalls.master b/sys/compat/freebsd32/syscalls.master
index aa91c0d..9428b6c 100644
--- a/sys/compat/freebsd32/syscalls.master
+++ b/sys/compat/freebsd32/syscalls.master
@@ -989,6 +989,6 @@
size_t inbuflen, void *outbufp, \
size_t outbuflen); }
530 AUE_NULL STD { int freebsd32_posix_fallocate(int fd,\
- uint32_t offsetlo, uint32_t offsethi,\
- uint32_t lenlo, uint32_t lenhi); }
+ uint32_t offset1, uint32_t offset2,\
+ uint32_t len1, uint32_t len2); }
531 AUE_NULL UNIMPL posix_fadvise
OpenPOWER on IntegriCloud