svn commit: r226364 - head/sys/compat/freebsd32

John Baldwin jhb at FreeBSD.org
Fri Oct 14 11:46:46 UTC 2011


Author: jhb
Date: Fri Oct 14 11:46:46 2011
New Revision: 226364
URL: http://svn.freebsd.org/changeset/base/226364

Log:
  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

Modified:
  head/sys/compat/freebsd32/freebsd32_misc.c
  head/sys/compat/freebsd32/syscalls.master

Modified: head/sys/compat/freebsd32/freebsd32_misc.c
==============================================================================
--- head/sys/compat/freebsd32/freebsd32_misc.c	Fri Oct 14 10:43:55 2011	(r226363)
+++ head/sys/compat/freebsd32/freebsd32_misc.c	Fri Oct 14 11:46:46 2011	(r226364)
@@ -2831,7 +2831,7 @@ freebsd32_posix_fallocate(struct thread 
 	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));
 }

Modified: head/sys/compat/freebsd32/syscalls.master
==============================================================================
--- head/sys/compat/freebsd32/syscalls.master	Fri Oct 14 10:43:55 2011	(r226363)
+++ head/sys/compat/freebsd32/syscalls.master	Fri Oct 14 11:46:46 2011	(r226364)
@@ -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


More information about the svn-src-head mailing list