summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordchagin <dchagin@FreeBSD.org>2016-01-09 16:47:36 +0000
committerdchagin <dchagin@FreeBSD.org>2016-01-09 16:47:36 +0000
commit623ca9818819fc3b87701ba39c1fcc6bd40ca9e5 (patch)
treeee01c664a1e76c7ea8246fc1c1bdf09010b5a07e
parent2ce85f55b6e94fb6842d99d07fd316dfd1361a1a (diff)
downloadFreeBSD-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.h1
-rw-r--r--sys/amd64/linux32/linux.h1
-rw-r--r--sys/compat/linux/linux_misc.c4
-rw-r--r--sys/compat/linux/linux_misc.h3
-rw-r--r--sys/i386/linux/linux.h1
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];
OpenPOWER on IntegriCloud