svn commit: r251051 - in stable/9/sys: compat/freebsd32 kern
Konstantin Belousov
kib at FreeBSD.org
Tue May 28 05:51:02 UTC 2013
Author: kib
Date: Tue May 28 05:51:00 2013
New Revision: 251051
URL: http://svnweb.freebsd.org/changeset/base/251051
Log:
MFC r250853:
Fix the wait6(2) on 32bit architectures and for the compat32, by using
the right type for the argument in syscalls.master. Also fix the
posix_fallocate(2) and posix_fadvise(2) compat32 syscalls on the
architectures which require padding of the 64bit argument.
Modified:
stable/9/sys/compat/freebsd32/freebsd32_misc.c
stable/9/sys/compat/freebsd32/syscalls.master
stable/9/sys/kern/syscalls.master
Directory Properties:
stable/9/sys/ (props changed)
Modified: stable/9/sys/compat/freebsd32/freebsd32_misc.c
==============================================================================
--- stable/9/sys/compat/freebsd32/freebsd32_misc.c Tue May 28 05:36:18 2013 (r251050)
+++ stable/9/sys/compat/freebsd32/freebsd32_misc.c Tue May 28 05:51:00 2013 (r251051)
@@ -192,8 +192,8 @@ freebsd32_wait6(struct thread *td, struc
bzero(sip, sizeof(*sip));
} else
sip = NULL;
- error = kern_wait6(td, uap->idtype, uap->id, &status, uap->options,
- wrup, sip);
+ error = kern_wait6(td, uap->idtype, PAIR32TO64(id_t, uap->id),
+ &status, uap->options, wrup, sip);
if (error != 0)
return (error);
if (uap->status != NULL)
Modified: stable/9/sys/compat/freebsd32/syscalls.master
==============================================================================
--- stable/9/sys/compat/freebsd32/syscalls.master Tue May 28 05:36:18 2013 (r251050)
+++ stable/9/sys/compat/freebsd32/syscalls.master Tue May 28 05:51:00 2013 (r251051)
@@ -990,6 +990,22 @@
529 AUE_NULL NOPROTO { int rctl_remove_rule(const void *inbufp, \
size_t inbuflen, void *outbufp, \
size_t outbuflen); }
+#ifdef PAD64_REQUIRED
+530 AUE_NULL STD { int freebsd32_posix_fallocate(int fd, \
+ int pad, \
+ uint32_t offset1, uint32_t offset2,\
+ uint32_t len1, uint32_t len2); }
+531 AUE_NULL STD { int freebsd32_posix_fadvise(int fd, \
+ int pad, \
+ uint32_t offset1, uint32_t offset2,\
+ uint32_t len1, uint32_t len2, \
+ int advice); }
+532 AUE_WAIT6 STD { int freebsd32_wait6(int idtype, int pad, \
+ uint32_t id1, uint32_t id2, \
+ int *status, int options, \
+ struct wrusage32 *wrusage, \
+ siginfo_t *info); }
+#else
530 AUE_NULL STD { int freebsd32_posix_fallocate(int fd,\
uint32_t offset1, uint32_t offset2,\
uint32_t len1, uint32_t len2); }
@@ -997,8 +1013,9 @@
uint32_t offset1, uint32_t offset2,\
uint32_t len1, uint32_t len2, \
int advice); }
-532 AUE_WAIT6 STD { int freebsd32_wait6(int idtype, int id, \
+532 AUE_WAIT6 STD { int freebsd32_wait6(int idtype, \
+ uint32_t id1, uint32_t id2, \
int *status, int options, \
struct wrusage32 *wrusage, \
siginfo_t *info); }
-
+#endif
Modified: stable/9/sys/kern/syscalls.master
==============================================================================
--- stable/9/sys/kern/syscalls.master Tue May 28 05:36:18 2013 (r251050)
+++ stable/9/sys/kern/syscalls.master Tue May 28 05:51:00 2013 (r251051)
@@ -948,7 +948,7 @@
off_t offset, off_t len); }
531 AUE_NULL STD { int posix_fadvise(int fd, off_t offset, \
off_t len, int advice); }
-532 AUE_WAIT6 STD { int wait6(int idtype, int id, \
+532 AUE_WAIT6 STD { int wait6(int idtype, id_t id, \
int *status, int options, \
struct __wrusage *wrusage, \
siginfo_t *info); }
More information about the svn-src-stable-9
mailing list