Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 9 Jan 2016 15:56:01 +0000 (UTC)
From:      Dmitry Chagin <dchagin@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject:   svn commit: r293522 - in stable/10/sys: amd64/linux32 compat/linux i386/linux
Message-ID:  <201601091556.u09Fu1EU028649@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dchagin
Date: Sat Jan  9 15:56:01 2016
New Revision: 293522
URL: https://svnweb.freebsd.org/changeset/base/293522

Log:
  MFC r283416:
  
  x86_64 Linux do not use multiplexing on ipc system calls.
  Move struct ipc_perm definition to the MD path as it differs for 64 and
  32 bit platform.

Modified:
  stable/10/sys/amd64/linux32/linux.h
  stable/10/sys/compat/linux/linux_ipc.c
  stable/10/sys/compat/linux/linux_ipc.h
  stable/10/sys/i386/linux/linux.h
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/amd64/linux32/linux.h
==============================================================================
--- stable/10/sys/amd64/linux32/linux.h	Sat Jan  9 15:54:55 2016	(r293521)
+++ stable/10/sys/amd64/linux32/linux.h	Sat Jan  9 15:56:01 2016	(r293522)
@@ -573,6 +573,16 @@ union l_semun {
 	l_uintptr_t	__pad;
 } __packed;
 
+struct l_ipc_perm {
+	l_key_t		key;
+	l_uid16_t	uid;
+	l_gid16_t	gid;
+	l_uid16_t	cuid;
+	l_gid16_t	cgid;
+	l_ushort	mode;
+	l_ushort	seq;
+};
+
 /*
  * Socket defines
  */

Modified: stable/10/sys/compat/linux/linux_ipc.c
==============================================================================
--- stable/10/sys/compat/linux/linux_ipc.c	Sat Jan  9 15:54:55 2016	(r293521)
+++ stable/10/sys/compat/linux/linux_ipc.c	Sat Jan  9 15:56:01 2016	(r293522)
@@ -117,16 +117,6 @@ bsd_to_linux_shm_info( struct shm_info *
 	lpp->swap_successes = bpp->swap_successes ;
 }
 
-struct l_ipc_perm {
-	l_key_t		key;
-	l_uid16_t	uid;
-	l_gid16_t	gid;
-	l_uid16_t	cuid;
-	l_gid16_t	cgid;
-	l_ushort	mode;
-	l_ushort	seq;
-};
-
 static void
 linux_to_bsd_ipc_perm(struct l_ipc_perm *lpp, struct ipc_perm *bpp)
 {

Modified: stable/10/sys/compat/linux/linux_ipc.h
==============================================================================
--- stable/10/sys/compat/linux/linux_ipc.h	Sat Jan  9 15:54:55 2016	(r293521)
+++ stable/10/sys/compat/linux/linux_ipc.h	Sat Jan  9 15:56:01 2016	(r293522)
@@ -82,7 +82,7 @@
 #define	LINUX_IPC_64	0x0100	/* New version (support 32-bit UIDs, bigger
 				   message sizes, etc. */
 
-#if defined(__i386__) || defined(__amd64__)
+#if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32))
 
 struct linux_msgctl_args 
 {
@@ -177,6 +177,6 @@ int linux_shmctl(struct thread *, struct
 int linux_shmdt(struct thread *, struct linux_shmdt_args *);
 int linux_shmget(struct thread *, struct linux_shmget_args *);
 
-#endif	/* __i386__ || __amd64__ */
+#endif	/* __i386__ || (__amd64__ && COMPAT_LINUX32) */
 
 #endif /* _LINUX_IPC_H_ */

Modified: stable/10/sys/i386/linux/linux.h
==============================================================================
--- stable/10/sys/i386/linux/linux.h	Sat Jan  9 15:54:55 2016	(r293521)
+++ stable/10/sys/i386/linux/linux.h	Sat Jan  9 15:56:01 2016	(r293522)
@@ -550,6 +550,16 @@ union l_semun {
 	void		*__pad;
 };
 
+struct l_ipc_perm {
+	l_key_t		key;
+	l_uid16_t	uid;
+	l_gid16_t	gid;
+	l_uid16_t	cuid;
+	l_gid16_t	cgid;
+	l_ushort	mode;
+	l_ushort	seq;
+};
+
 /*
  * Socket defines
  */



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201601091556.u09Fu1EU028649>