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
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to