Author: dchagin
Date: Sun May 24 16:47:13 2015
New Revision: 283443
URL: https://svnweb.freebsd.org/changeset/base/283443

Log:
  Put the correct value for the abi_nfdbits parameter of kern_select() for
  all supported Linuxulators.
  
  Differential Revision:        https://reviews.freebsd.org/D1093
  Reviewed by:  trasz

Modified:
  head/sys/amd64/linux/linux.h
  head/sys/amd64/linux32/linux.h
  head/sys/compat/linux/linux_misc.c
  head/sys/compat/linux/linux_misc.h
  head/sys/i386/linux/linux.h

Modified: head/sys/amd64/linux/linux.h
==============================================================================
--- head/sys/amd64/linux/linux.h        Sun May 24 16:42:49 2015        
(r283442)
+++ head/sys/amd64/linux/linux.h        Sun May 24 16:47:13 2015        
(r283443)
@@ -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];

Modified: head/sys/amd64/linux32/linux.h
==============================================================================
--- head/sys/amd64/linux32/linux.h      Sun May 24 16:42:49 2015        
(r283442)
+++ head/sys/amd64/linux32/linux.h      Sun May 24 16:47:13 2015        
(r283443)
@@ -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];

Modified: head/sys/compat/linux/linux_misc.c
==============================================================================
--- head/sys/compat/linux/linux_misc.c  Sun May 24 16:42:49 2015        
(r283442)
+++ head/sys/compat/linux/linux_misc.c  Sun May 24 16:47:13 2015        
(r283443)
@@ -531,7 +531,7 @@ linux_select(struct thread *td, struct l
                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))
@@ -2181,7 +2181,7 @@ linux_pselect6(struct thread *td, struct
                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) {

Modified: head/sys/compat/linux/linux_misc.h
==============================================================================
--- head/sys/compat/linux/linux_misc.h  Sun May 24 16:42:49 2015        
(r283442)
+++ head/sys/compat/linux/linux_misc.h  Sun May 24 16:47:13 2015        
(r283443)
@@ -33,6 +33,9 @@
 
 #include <sys/sysctl.h>
 
+                               /* bits per mask */
+#define        LINUX_NFDBITS           sizeof(l_fd_mask) * 8
+
 /*
  * Miscellaneous
  */

Modified: head/sys/i386/linux/linux.h
==============================================================================
--- head/sys/i386/linux/linux.h Sun May 24 16:42:49 2015        (r283442)
+++ head/sys/i386/linux/linux.h Sun May 24 16:47:13 2015        (r283443)
@@ -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];
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to