diff options
author | dchagin <dchagin@FreeBSD.org> | 2016-01-09 16:47:36 +0000 |
---|---|---|
committer | dchagin <dchagin@FreeBSD.org> | 2016-01-09 16:47:36 +0000 |
commit | 623ca9818819fc3b87701ba39c1fcc6bd40ca9e5 (patch) | |
tree | ee01c664a1e76c7ea8246fc1c1bdf09010b5a07e | |
parent | 2ce85f55b6e94fb6842d99d07fd316dfd1361a1a (diff) | |
download | FreeBSD-src-623ca9818819fc3b87701ba39c1fcc6bd40ca9e5.zip FreeBSD-src-623ca9818819fc3b87701ba39c1fcc6bd40ca9e5.tar.gz |
MFC r283443:
Put the correct value for the abi_nfdbits parameter of kern_select() for
all supported Linuxulators.
-rw-r--r-- | sys/amd64/linux/linux.h | 1 | ||||
-rw-r--r-- | sys/amd64/linux32/linux.h | 1 | ||||
-rw-r--r-- | sys/compat/linux/linux_misc.c | 4 | ||||
-rw-r--r-- | sys/compat/linux/linux_misc.h | 3 | ||||
-rw-r--r-- | sys/i386/linux/linux.h | 1 |
5 files changed, 8 insertions, 2 deletions
diff --git a/sys/amd64/linux/linux.h b/sys/amd64/linux/linux.h index 2ade33c..0845809 100644 --- a/sys/amd64/linux/linux.h +++ b/sys/amd64/linux/linux.h @@ -82,6 +82,7 @@ typedef l_long l_time_t; typedef l_int l_timer_t; typedef l_int l_mqd_t; typedef l_size_t l_socklen_t; +typedef l_ulong l_fd_mask; typedef struct { l_int val[2]; diff --git a/sys/amd64/linux32/linux.h b/sys/amd64/linux32/linux.h index 0359738..001c86b 100644 --- a/sys/amd64/linux32/linux.h +++ b/sys/amd64/linux32/linux.h @@ -95,6 +95,7 @@ typedef l_uint l_uid_t; typedef l_ushort l_uid16_t; typedef l_int l_timer_t; typedef l_int l_mqd_t; +typedef l_ulong l_fd_mask; typedef struct { l_int val[2]; diff --git a/sys/compat/linux/linux_misc.c b/sys/compat/linux/linux_misc.c index bf8c462..abf59c7 100644 --- a/sys/compat/linux/linux_misc.c +++ b/sys/compat/linux/linux_misc.c @@ -532,7 +532,7 @@ linux_select(struct thread *td, struct linux_select_args *args) tvp = NULL; error = kern_select(td, args->nfds, args->readfds, args->writefds, - args->exceptfds, tvp, sizeof(l_int) * 8); + args->exceptfds, tvp, LINUX_NFDBITS); #ifdef DEBUG if (ldebug(select)) @@ -2179,7 +2179,7 @@ linux_pselect6(struct thread *td, struct linux_pselect6_args *args) tvp = NULL; error = kern_pselect(td, args->nfds, args->readfds, args->writefds, - args->exceptfds, tvp, ssp, sizeof(l_int) * 8); + args->exceptfds, tvp, ssp, LINUX_NFDBITS); if (error == 0 && args->tsp != NULL) { if (td->td_retval[0] != 0) { diff --git a/sys/compat/linux/linux_misc.h b/sys/compat/linux/linux_misc.h index 62c76da..7202e4a 100644 --- a/sys/compat/linux/linux_misc.h +++ b/sys/compat/linux/linux_misc.h @@ -33,6 +33,9 @@ #include <sys/sysctl.h> + /* bits per mask */ +#define LINUX_NFDBITS sizeof(l_fd_mask) * 8 + /* * Miscellaneous */ diff --git a/sys/i386/linux/linux.h b/sys/i386/linux/linux.h index cffa5c2..3087dac 100644 --- a/sys/i386/linux/linux.h +++ b/sys/i386/linux/linux.h @@ -89,6 +89,7 @@ typedef l_uint l_uid_t; typedef l_ushort l_uid16_t; typedef l_int l_timer_t; typedef l_int l_mqd_t; +typedef l_ulong l_fd_mask; typedef struct { l_int val[2]; |