svn commit: r283443 - in head/sys: amd64/linux amd64/linux32 compat/linux i386/linux

Dmitry Chagin dchagin at FreeBSD.org
Sun May 24 16:47:15 UTC 2015


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];


More information about the svn-src-all mailing list