Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 14 Oct 2011 11:46:46 +0000 (UTC)
From:      John Baldwin <jhb@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r226364 - head/sys/compat/freebsd32
Message-ID:  <201110141146.p9EBkkDW061857@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201110141146.p9EBkkDW061857>