CVS commit: src/sys/compat/netbsd32

2021-04-25 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Apr 25 22:27:08 UTC 2021

Modified Files:
src/sys/compat/netbsd32: netbsd32.mk

Log Message:
All mips64 has compat_netbsd32


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/compat/netbsd32/netbsd32.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32.mk
diff -u src/sys/compat/netbsd32/netbsd32.mk:1.2 src/sys/compat/netbsd32/netbsd32.mk:1.3
--- src/sys/compat/netbsd32/netbsd32.mk:1.2	Thu Mar  5 23:54:08 2020
+++ src/sys/compat/netbsd32/netbsd32.mk	Sun Apr 25 18:27:08 2021
@@ -1,4 +1,4 @@
-#	$NetBSD: netbsd32.mk,v 1.2 2020/03/06 04:54:08 pgoyette Exp $
+#	$NetBSD: netbsd32.mk,v 1.3 2021/04/25 22:27:08 christos Exp $
 
 # makefile fragment that tells you if you should support netbsd32 or not.
 # include this and check ${COMPAT_USE_NETBSD32} != "no".
@@ -7,7 +7,7 @@
 || ${MACHINE_CPU} == "arm" \
 || ${MACHINE_CPU} == "aarch64" \
 || ${MACHINE_ARCH} == "sparc64" \
-|| (!empty(MACHINE_ARCH:Mmips64*) && !defined(BSD_MK_COMPAT_FILE))
+|| (${MACHINE_MIPS64} && !defined(BSD_MK_COMPAT_FILE))
 COMPAT_USE_NETBSD32?=yes
 .else
 COMPAT_USE_NETBSD32?=no



CVS commit: src/sys/compat/netbsd32

2021-04-16 Thread Simon Burge
Module Name:src
Committed By:   simonb
Date:   Sat Apr 17 03:57:42 UTC 2021

Modified Files:
src/sys/compat/netbsd32: files.netbsd32

Log Message:
Compile in compat32 syscall names all the time, as we do for native
syscall names.  Needed for dtrace.


To generate a diff of this commit:
cvs rdiff -u -r1.52 -r1.53 src/sys/compat/netbsd32/files.netbsd32

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/files.netbsd32
diff -u src/sys/compat/netbsd32/files.netbsd32:1.52 src/sys/compat/netbsd32/files.netbsd32:1.53
--- src/sys/compat/netbsd32/files.netbsd32:1.52	Sat May 16 18:31:48 2020
+++ src/sys/compat/netbsd32/files.netbsd32	Sat Apr 17 03:57:42 2021
@@ -1,4 +1,4 @@
-#	$NetBSD: files.netbsd32,v 1.52 2020/05/16 18:31:48 christos Exp $
+#	$NetBSD: files.netbsd32,v 1.53 2021/04/17 03:57:42 simonb Exp $
 #
 # config file description for machine-independent netbsd32 compat code.
 # included by ports that need it.
@@ -41,7 +41,7 @@ file	compat/netbsd32/netbsd32_time.c		co
 file	compat/netbsd32/netbsd32_wait.c		compat_netbsd32
 file	compat/netbsd32/netbsd32_vm.c		compat_netbsd32
 file	compat/netbsd32/netbsd32_sysent.c	compat_netbsd32
-file	compat/netbsd32/netbsd32_syscalls.c	compat_netbsd32 & syscall_debug
+file	compat/netbsd32/netbsd32_syscalls.c	compat_netbsd32
 
 file	compat/netbsd32/netbsd32_compat_09.c	compat_netbsd32 & (compat_09 | compat_sunos)
 file	compat/netbsd32/netbsd32_compat_10_sysv.c compat_netbsd32 & compat_10 &



CVS commit: src/sys/compat/netbsd32

2021-04-14 Thread Michael van Elst
Module Name:src
Committed By:   mlelstv
Date:   Wed Apr 14 16:26:23 UTC 2021

Modified Files:
src/sys/compat/netbsd32: netbsd32_ioctl.c netbsd32_ioctl.h

Log Message:
Add DIOCGDISKINFO compat.


To generate a diff of this commit:
cvs rdiff -u -r1.118 -r1.119 src/sys/compat/netbsd32/netbsd32_ioctl.c
cvs rdiff -u -r1.77 -r1.78 src/sys/compat/netbsd32/netbsd32_ioctl.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_ioctl.c
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.c:1.118 src/sys/compat/netbsd32/netbsd32_ioctl.c:1.119
--- src/sys/compat/netbsd32/netbsd32_ioctl.c:1.118	Sun Jan 17 10:50:01 2021
+++ src/sys/compat/netbsd32/netbsd32_ioctl.c	Wed Apr 14 16:26:23 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.c,v 1.118 2021/01/17 10:50:01 simonb Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.c,v 1.119 2021/04/14 16:26:23 mlelstv Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -31,7 +31,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.118 2021/01/17 10:50:01 simonb Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.119 2021/04/14 16:26:23 mlelstv Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ntp.h"
@@ -1693,6 +1693,8 @@ netbsd32_ioctl(struct lwp *l,
 		IOCTL_STRUCT_CONV_TO(DIOCGSTRATEGY, disk_strategy);
 	case DIOCSSTRATEGY32:
 		IOCTL_STRUCT_CONV_TO(DIOCSSTRATEGY, disk_strategy);
+	case DIOCGDISKINFO32:
+		IOCTL_STRUCT_CONV_TO(DIOCGDISKINFO, plistref);
 	case DIOCLWEDGES32:
 		IOCTL_STRUCT_CONV_TO(DIOCLWEDGES, dkwedge_list);
 

Index: src/sys/compat/netbsd32/netbsd32_ioctl.h
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.h:1.77 src/sys/compat/netbsd32/netbsd32_ioctl.h:1.78
--- src/sys/compat/netbsd32/netbsd32_ioctl.h:1.77	Sun Jan 17 10:50:01 2021
+++ src/sys/compat/netbsd32/netbsd32_ioctl.h	Wed Apr 14 16:26:23 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.h,v 1.77 2021/01/17 10:50:01 simonb Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.h,v 1.78 2021/04/14 16:26:23 mlelstv Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -672,6 +672,7 @@ struct netbsd32_disk_strategy {
 
 #define DIOCGSTRATEGY32		_IOR('d', 125, struct netbsd32_disk_strategy)
 #define DIOCSSTRATEGY32		_IOW('d', 126, struct netbsd32_disk_strategy)
+#define DIOCGDISKINFO32		_IOR('d', 127, struct netbsd32_plistref)
 
 /* from  */
 struct netbsd32_lsenable {



CVS commit: src/sys/compat/netbsd32

2021-04-13 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Wed Apr 14 02:48:00 UTC 2021

Modified Files:
src/sys/compat/netbsd32: netbsd32_systrace_args.c

Log Message:
regen


To generate a diff of this commit:
cvs rdiff -u -r1.46 -r1.47 src/sys/compat/netbsd32/netbsd32_systrace_args.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_systrace_args.c
diff -u src/sys/compat/netbsd32/netbsd32_systrace_args.c:1.46 src/sys/compat/netbsd32/netbsd32_systrace_args.c:1.47
--- src/sys/compat/netbsd32/netbsd32_systrace_args.c:1.46	Tue Apr 13 19:57:23 2021
+++ src/sys/compat/netbsd32/netbsd32_systrace_args.c	Tue Apr 13 22:48:00 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: netbsd32_systrace_args.c,v 1.46 2021/04/13 23:57:23 christos Exp $ */
+/* $NetBSD: netbsd32_systrace_args.c,v 1.47 2021/04/14 02:48:00 christos Exp $ */
 
 /*
  * System call argument to DTrace register array conversion.
@@ -16,7 +16,7 @@ systrace_args(register_t sysnum, const v
 	case 0: {
 		const struct netbsd32_syscall_args *p = params;
 		iarg[0] = SCARG(p, code); /* int */
-		uarg[1] = (intptr_t) SCARG(p, args); /* register32_t */
+		iarg[1] = SCARG(p, args[0]); /* register32_t */
 		*n_args = 2;
 		break;
 	}
@@ -1412,7 +1412,7 @@ systrace_args(register_t sysnum, const v
 	case 198: {
 		const struct netbsd32syscall_args *p = params;
 		iarg[0] = SCARG(p, code); /* quad_t */
-		uarg[1] = (intptr_t) SCARG(p, args); /* register32_t */
+		iarg[1] = SCARG(p, args[0]); /* register32_t */
 		*n_args = 2;
 		break;
 	}



CVS commit: src/sys/compat/netbsd32

2021-04-13 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Tue Apr 13 23:57:23 UTC 2021

Modified Files:
src/sys/compat/netbsd32: netbsd32_systrace_args.c

Log Message:
regen


To generate a diff of this commit:
cvs rdiff -u -r1.45 -r1.46 src/sys/compat/netbsd32/netbsd32_systrace_args.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_systrace_args.c
diff -u src/sys/compat/netbsd32/netbsd32_systrace_args.c:1.45 src/sys/compat/netbsd32/netbsd32_systrace_args.c:1.46
--- src/sys/compat/netbsd32/netbsd32_systrace_args.c:1.45	Fri Oct  9 20:03:53 2020
+++ src/sys/compat/netbsd32/netbsd32_systrace_args.c	Tue Apr 13 19:57:23 2021
@@ -1,7 +1,7 @@
-/* $NetBSD: netbsd32_systrace_args.c,v 1.45 2020/10/10 00:03:53 rin Exp $ */
+/* $NetBSD: netbsd32_systrace_args.c,v 1.46 2021/04/13 23:57:23 christos Exp $ */
 
 /*
- * System call argument to DTrace register array converstion.
+ * System call argument to DTrace register array conversion.
  *
  * DO NOT EDIT-- this file is automatically generated.
  * This file is part of the DTrace syscall provider.
@@ -16,7 +16,7 @@ systrace_args(register_t sysnum, const v
 	case 0: {
 		const struct netbsd32_syscall_args *p = params;
 		iarg[0] = SCARG(p, code); /* int */
-		iarg[1] = SCARG(p, args[NETBSD32_SYS_MAXSYSARGS]); /* register32_t */
+		uarg[1] = (intptr_t) SCARG(p, args); /* register32_t */
 		*n_args = 2;
 		break;
 	}
@@ -1412,7 +1412,7 @@ systrace_args(register_t sysnum, const v
 	case 198: {
 		const struct netbsd32syscall_args *p = params;
 		iarg[0] = SCARG(p, code); /* quad_t */
-		iarg[1] = SCARG(p, args[NETBSD32_SYS_MAXSYSARGS]); /* register32_t */
+		uarg[1] = (intptr_t) SCARG(p, args); /* register32_t */
 		*n_args = 2;
 		break;
 	}



CVS commit: src/sys/compat/netbsd32

2021-04-12 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Tue Apr 13 05:28:16 UTC 2021

Modified Files:
src/sys/compat/netbsd32: netbsd32_execve.c

Log Message:
GCC 10 does not like casting from one identical anonymous enum
to another enum.  supply some quietening cast.


To generate a diff of this commit:
cvs rdiff -u -r1.42 -r1.43 src/sys/compat/netbsd32/netbsd32_execve.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_execve.c
diff -u src/sys/compat/netbsd32/netbsd32_execve.c:1.42 src/sys/compat/netbsd32/netbsd32_execve.c:1.43
--- src/sys/compat/netbsd32/netbsd32_execve.c:1.42	Sun Apr 19 20:31:59 2020
+++ src/sys/compat/netbsd32/netbsd32_execve.c	Tue Apr 13 05:28:16 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_execve.c,v 1.42 2020/04/19 20:31:59 thorpej Exp $	*/
+/*	$NetBSD: netbsd32_execve.c,v 1.43 2021/04/13 05:28:16 mrg Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -28,7 +28,7 @@
 
 #include 
 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_execve.c,v 1.42 2020/04/19 20:31:59 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_execve.c,v 1.43 2021/04/13 05:28:16 mrg Exp $");
 
 #include 
 #include 
@@ -130,7 +130,7 @@ netbsd32_posix_spawn_fa_alloc(struct pos
 	for (; i < fa->len; i++) {
 		fae = >fae[i];
 		f32 = [i];
-		fae->fae_action = f32->fae_action;
+		fae->fae_action = (unsigned)f32->fae_action;
 		fae->fae_fildes = f32->fae_fildes;
 		if (fae->fae_action == FAE_DUP2)
 			fae->fae_data.dup2.newfildes =



CVS commit: src/sys/compat/netbsd32

2021-02-18 Thread Simon Burge
Module Name:src
Committed By:   simonb
Date:   Thu Feb 18 12:54:03 UTC 2021

Modified Files:
src/sys/compat/netbsd32: netbsd32_compat_50.c netbsd32_time.c

Log Message:
In the compat setitimer(2) calls, don't validate which timer is being
used since dosetitimer() does this anyway.  The compat functions hadn't
been updated since ITIMER_MONOTONIC was introduced, so they reported
that that ITIMER_MONOTONIC timer was invalid.


To generate a diff of this commit:
cvs rdiff -u -r1.50 -r1.51 src/sys/compat/netbsd32/netbsd32_compat_50.c
cvs rdiff -u -r1.54 -r1.55 src/sys/compat/netbsd32/netbsd32_time.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_compat_50.c
diff -u src/sys/compat/netbsd32/netbsd32_compat_50.c:1.50 src/sys/compat/netbsd32/netbsd32_compat_50.c:1.51
--- src/sys/compat/netbsd32/netbsd32_compat_50.c:1.50	Tue Jan 19 03:20:13 2021
+++ src/sys/compat/netbsd32/netbsd32_compat_50.c	Thu Feb 18 12:54:03 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_compat_50.c,v 1.50 2021/01/19 03:20:13 simonb Exp $	*/
+/*	$NetBSD: netbsd32_compat_50.c,v 1.51 2021/02/18 12:54:03 simonb Exp $	*/
 
 /*-
  * Copyright (c) 2008, 2020 The NetBSD Foundation, Inc.
@@ -29,7 +29,7 @@
  * POSSIBILITY OF SUCH DAMAGE.
  */
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_50.c,v 1.50 2021/01/19 03:20:13 simonb Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_50.c,v 1.51 2021/02/18 12:54:03 simonb Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_compat_netbsd.h"
@@ -875,8 +875,6 @@ compat_50_netbsd32_setitimer(struct lwp 
 	struct itimerval aitv;
 	int error;
 
-	if ((u_int)which > ITIMER_PROF)
-		return EINVAL;
 	itv32 = SCARG_P32(uap, itv);
 	if (itv32) {
 		if ((error = copyin(itv32, , sizeof(s32it

Index: src/sys/compat/netbsd32/netbsd32_time.c
diff -u src/sys/compat/netbsd32/netbsd32_time.c:1.54 src/sys/compat/netbsd32/netbsd32_time.c:1.55
--- src/sys/compat/netbsd32/netbsd32_time.c:1.54	Tue Jan 19 03:20:13 2021
+++ src/sys/compat/netbsd32/netbsd32_time.c	Thu Feb 18 12:54:03 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_time.c,v 1.54 2021/01/19 03:20:13 simonb Exp $	*/
+/*	$NetBSD: netbsd32_time.c,v 1.55 2021/02/18 12:54:03 simonb Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_time.c,v 1.54 2021/01/19 03:20:13 simonb Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_time.c,v 1.55 2021/02/18 12:54:03 simonb Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ntp.h"
@@ -142,8 +142,6 @@ netbsd32___setitimer50(struct lwp *l, co
 	struct itimerval aitv;
 	int error;
 
-	if ((u_int)which > ITIMER_PROF)
-		return EINVAL;
 	itv32 = SCARG_P32(uap, itv);
 	if (itv32) {
 		if ((error = copyin(itv32, , sizeof(s32it



CVS commit: src/sys/compat/netbsd32

2021-02-16 Thread Simon Burge
Module Name:src
Committed By:   simonb
Date:   Tue Feb 16 14:47:20 UTC 2021

Modified Files:
src/sys/compat/netbsd32: netbsd32_fs.c

Log Message:
In netbsd32___mount50() zero out the native fs_args union before use so
we don't pass stack garbage to the lower layers in the MNT_GETARGS case.

Fixes random errors like "Bad address" from "mount -vv" with nfs mounts.


To generate a diff of this commit:
cvs rdiff -u -r1.92 -r1.93 src/sys/compat/netbsd32/netbsd32_fs.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_fs.c
diff -u src/sys/compat/netbsd32/netbsd32_fs.c:1.92 src/sys/compat/netbsd32/netbsd32_fs.c:1.93
--- src/sys/compat/netbsd32/netbsd32_fs.c:1.92	Tue Jan 19 03:41:22 2021
+++ src/sys/compat/netbsd32/netbsd32_fs.c	Tue Feb 16 14:47:20 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_fs.c,v 1.92 2021/01/19 03:41:22 simonb Exp $	*/
+/*	$NetBSD: netbsd32_fs.c,v 1.93 2021/02/16 14:47:20 simonb Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_fs.c,v 1.92 2021/01/19 03:41:22 simonb Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_fs.c,v 1.93 2021/02/16 14:47:20 simonb Exp $");
 
 #include 
 #include 
@@ -825,6 +825,7 @@ netbsd32___mount50(struct lwp *l, const 
  
 	udata = data = SCARG_P32(uap, data);
 	memset(_args32, 0, sizeof(fs_args32));
+	memset(_args, 0, sizeof(fs_args));
 
 	error = copyinstr(type, mtype, sizeof(mtype), );
 	if (error)



CVS commit: src/sys/compat/netbsd32

2021-01-19 Thread Thomas Klausner
Module Name:src
Committed By:   wiz
Date:   Tue Jan 19 08:10:17 UTC 2021

Modified Files:
src/sys/compat/netbsd32: netbsd32_compat_20.c

Log Message:
Fix syntax error


To generate a diff of this commit:
cvs rdiff -u -r1.40 -r1.41 src/sys/compat/netbsd32/netbsd32_compat_20.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_compat_20.c
diff -u src/sys/compat/netbsd32/netbsd32_compat_20.c:1.40 src/sys/compat/netbsd32/netbsd32_compat_20.c:1.41
--- src/sys/compat/netbsd32/netbsd32_compat_20.c:1.40	Tue Jan 19 03:20:13 2021
+++ src/sys/compat/netbsd32/netbsd32_compat_20.c	Tue Jan 19 08:10:17 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_compat_20.c,v 1.40 2021/01/19 03:20:13 simonb Exp $	*/
+/*	$NetBSD: netbsd32_compat_20.c,v 1.41 2021/01/19 08:10:17 wiz Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_20.c,v 1.40 2021/01/19 03:20:13 simonb Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_20.c,v 1.41 2021/01/19 08:10:17 wiz Exp $");
 
 #include 
 #include 
@@ -201,7 +201,7 @@ compat_20_netbsd32_fstatfs(struct lwp *l
  out:
 	STATVFSBUF_PUT(sb);
 	fd_putfile(SCARG(uap, fd));
-	return error)
+	return error;
 }
 
 int



CVS commit: src/sys/compat/netbsd32

2021-01-18 Thread Simon Burge
Module Name:src
Committed By:   simonb
Date:   Tue Jan 19 03:41:22 UTC 2021

Modified Files:
src/sys/compat/netbsd32: netbsd32.h netbsd32_conv.h netbsd32_fs.c
netbsd32_netbsd.c netbsd32_socket.c

Log Message:
The read/write/send/recv system calls return ssize_t because -1 is
returned on error.  Therefore we must restrict the lengths of any
buffers to NETBSD32_SSIZE_MAX with compat32 to avoid garbage return
values.

Fixes ATF lib/libc/sys/t_write:write_err.


To generate a diff of this commit:
cvs rdiff -u -r1.136 -r1.137 src/sys/compat/netbsd32/netbsd32.h
cvs rdiff -u -r1.44 -r1.45 src/sys/compat/netbsd32/netbsd32_conv.h
cvs rdiff -u -r1.91 -r1.92 src/sys/compat/netbsd32/netbsd32_fs.c
cvs rdiff -u -r1.231 -r1.232 src/sys/compat/netbsd32/netbsd32_netbsd.c
cvs rdiff -u -r1.55 -r1.56 src/sys/compat/netbsd32/netbsd32_socket.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32.h
diff -u src/sys/compat/netbsd32/netbsd32.h:1.136 src/sys/compat/netbsd32/netbsd32.h:1.137
--- src/sys/compat/netbsd32/netbsd32.h:1.136	Mon Jan 18 23:14:22 2021
+++ src/sys/compat/netbsd32/netbsd32.h	Tue Jan 19 03:41:22 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32.h,v 1.136 2021/01/18 23:14:22 simonb Exp $	*/
+/*	$NetBSD: netbsd32.h,v 1.137 2021/01/19 03:41:22 simonb Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001, 2008, 2015 Matthew R. Green
@@ -58,7 +58,7 @@
 #include 
 
 /*
- * first, define the basic types we need.
+ * first define the basic types we need, and any applicable limits.
  */
 
 typedef int32_t netbsd32_long;
@@ -73,6 +73,9 @@ typedef int32_t netbsd32_key_t;
 typedef int32_t netbsd32_intptr_t;
 typedef uint32_t netbsd32_uintptr_t;
 
+/* Note: 32-bit sparc defines ssize_t as long but still has same size as int. */
+#define	NETBSD32_SSIZE_MAX	INT32_MAX
+
 /* netbsd32_[u]int64 are machine dependent and defined below */
 
 /*

Index: src/sys/compat/netbsd32/netbsd32_conv.h
diff -u src/sys/compat/netbsd32/netbsd32_conv.h:1.44 src/sys/compat/netbsd32/netbsd32_conv.h:1.45
--- src/sys/compat/netbsd32/netbsd32_conv.h:1.44	Tue Jan 19 03:20:13 2021
+++ src/sys/compat/netbsd32/netbsd32_conv.h	Tue Jan 19 03:41:22 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_conv.h,v 1.44 2021/01/19 03:20:13 simonb Exp $	*/
+/*	$NetBSD: netbsd32_conv.h,v 1.45 2021/01/19 03:41:22 simonb Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -246,13 +246,15 @@ netbsd32_to_iovecin(const struct netbsd3
 {
 	int i, error=0;
 	uint32_t iov_base;
-	uint32_t iov_len;
+	uint32_t iov_len, total_iov_len;
+
 	/*
 	 * We could allocate an iov32p, do a copyin, and translate
 	 * each field and then free it all up, or we could copyin
 	 * each field separately.  I'm doing the latter to reduce
 	 * the number of MALLOC()s.
 	 */
+	total_iov_len = 0;
 	for (i = 0; i < len; i++, iovp++, iov32p++) {
 		if ((error = copyin(>iov_base, _base, sizeof(iov_base
 		return error;
@@ -260,6 +262,19 @@ netbsd32_to_iovecin(const struct netbsd3
 		return error;
 		iovp->iov_base = (void *)(u_long)iov_base;
 		iovp->iov_len = (size_t)iov_len;
+
+		/*
+		 * System calls return ssize_t because -1 is returned
+		 * on error.  Therefore we must restrict the length to
+		 * SSIZE_MAX (NETBSD32_SSIZE_MAX with compat32) to
+		 * avoid garbage return values.
+		 */
+		total_iov_len += iov_len;
+		if (iov_len > NETBSD32_SSIZE_MAX ||
+		total_iov_len > NETBSD32_SSIZE_MAX) {
+			return EINVAL;
+			break;
+		}
 	}
 	return error;
 }

Index: src/sys/compat/netbsd32/netbsd32_fs.c
diff -u src/sys/compat/netbsd32/netbsd32_fs.c:1.91 src/sys/compat/netbsd32/netbsd32_fs.c:1.92
--- src/sys/compat/netbsd32/netbsd32_fs.c:1.91	Tue Jan 19 03:20:13 2021
+++ src/sys/compat/netbsd32/netbsd32_fs.c	Tue Jan 19 03:41:22 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_fs.c,v 1.91 2021/01/19 03:20:13 simonb Exp $	*/
+/*	$NetBSD: netbsd32_fs.c,v 1.92 2021/01/19 03:41:22 simonb Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_fs.c,v 1.91 2021/01/19 03:20:13 simonb Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_fs.c,v 1.92 2021/01/19 03:41:22 simonb Exp $");
 
 #include 
 #include 
@@ -176,7 +176,8 @@ dofilereadv32(int fd, struct file *fp, s
 		 * Therefore we must restrict the length to SSIZE_MAX to
 		 * avoid garbage return values.
 		 */
-		if (iov->iov_len > SSIZE_MAX || auio.uio_resid > SSIZE_MAX) {
+		if (iov->iov_len > NETBSD32_SSIZE_MAX ||
+		auio.uio_resid > NETBSD32_SSIZE_MAX) {
 			error = EINVAL;
 			goto done;
 		}
@@ -281,7 +282,8 @@ dofilewritev32(int fd, struct file *fp, 
 		 * Therefore we must restrict the length to SSIZE_MAX to
 		 * avoid garbage return values.
 		 */
-		if (iov->iov_len > SSIZE_MAX || auio.uio_resid > SSIZE_MAX) {
+		if (iov->iov_len > NETBSD32_SSIZE_MAX ||
+		auio.uio_resid > NETBSD32_SSIZE_MAX) {
 			error = EINVAL;
 			goto 

CVS commit: src/sys/compat/netbsd32

2021-01-18 Thread Simon Burge
Module Name:src
Committed By:   simonb
Date:   Tue Jan 19 03:20:13 UTC 2021

Modified Files:
src/sys/compat/netbsd32: netbsd32_compat_09.c netbsd32_compat_10_sysv.c
netbsd32_compat_12.c netbsd32_compat_13.c netbsd32_compat_14_sysv.c
netbsd32_compat_20.c netbsd32_compat_30.c netbsd32_compat_43.c
netbsd32_compat_50.c netbsd32_compat_50_quota.c
netbsd32_compat_50_sysv.c netbsd32_conv.h netbsd32_exec_aout.c
netbsd32_fs.c netbsd32_ipc.c netbsd32_rlimit.c
netbsd32_rndpseudo_50.c netbsd32_signal.c netbsd32_socket.c
netbsd32_sysctl.c netbsd32_time.c

Log Message:
KNF consistency: No parentheses are needed around the return value.


To generate a diff of this commit:
cvs rdiff -u -r1.19 -r1.20 src/sys/compat/netbsd32/netbsd32_compat_09.c \
src/sys/compat/netbsd32/netbsd32_ipc.c
cvs rdiff -u -r1.2 -r1.3 src/sys/compat/netbsd32/netbsd32_compat_10_sysv.c
cvs rdiff -u -r1.34 -r1.35 src/sys/compat/netbsd32/netbsd32_compat_12.c
cvs rdiff -u -r1.27 -r1.28 src/sys/compat/netbsd32/netbsd32_compat_13.c
cvs rdiff -u -r1.3 -r1.4 src/sys/compat/netbsd32/netbsd32_compat_14_sysv.c \
src/sys/compat/netbsd32/netbsd32_compat_50_sysv.c
cvs rdiff -u -r1.39 -r1.40 src/sys/compat/netbsd32/netbsd32_compat_20.c
cvs rdiff -u -r1.35 -r1.36 src/sys/compat/netbsd32/netbsd32_compat_30.c
cvs rdiff -u -r1.60 -r1.61 src/sys/compat/netbsd32/netbsd32_compat_43.c
cvs rdiff -u -r1.49 -r1.50 src/sys/compat/netbsd32/netbsd32_compat_50.c
cvs rdiff -u -r1.1 -r1.2 src/sys/compat/netbsd32/netbsd32_compat_50_quota.c \
src/sys/compat/netbsd32/netbsd32_rlimit.c
cvs rdiff -u -r1.43 -r1.44 src/sys/compat/netbsd32/netbsd32_conv.h
cvs rdiff -u -r1.30 -r1.31 src/sys/compat/netbsd32/netbsd32_exec_aout.c
cvs rdiff -u -r1.90 -r1.91 src/sys/compat/netbsd32/netbsd32_fs.c
cvs rdiff -u -r1.5 -r1.6 src/sys/compat/netbsd32/netbsd32_rndpseudo_50.c
cvs rdiff -u -r1.50 -r1.51 src/sys/compat/netbsd32/netbsd32_signal.c
cvs rdiff -u -r1.54 -r1.55 src/sys/compat/netbsd32/netbsd32_socket.c
cvs rdiff -u -r1.44 -r1.45 src/sys/compat/netbsd32/netbsd32_sysctl.c
cvs rdiff -u -r1.53 -r1.54 src/sys/compat/netbsd32/netbsd32_time.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_compat_09.c
diff -u src/sys/compat/netbsd32/netbsd32_compat_09.c:1.19 src/sys/compat/netbsd32/netbsd32_compat_09.c:1.20
--- src/sys/compat/netbsd32/netbsd32_compat_09.c:1.19	Sun Jan 27 02:08:40 2019
+++ src/sys/compat/netbsd32/netbsd32_compat_09.c	Tue Jan 19 03:20:13 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_compat_09.c,v 1.19 2019/01/27 02:08:40 pgoyette Exp $	*/
+/*	$NetBSD: netbsd32_compat_09.c,v 1.20 2021/01/19 03:20:13 simonb Exp $	*/
 
 /*
  * Copyright (c) 1998 Matthew R. Green
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_09.c,v 1.19 2019/01/27 02:08:40 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_09.c,v 1.20 2021/01/19 03:20:13 simonb Exp $");
 
 #include 
 #include 
@@ -59,8 +59,8 @@ compat_09_netbsd32_ogetdomainname(struct
 	name[0] = CTL_KERN;
 	name[1] = KERN_DOMAINNAME;
 	sz = SCARG(uap, len);
-	return (old_sysctl([0], 2,
-	(char *)SCARG_P32(uap, domainname), , 0, 0, l));
+	return old_sysctl([0], 2,
+	(char *)SCARG_P32(uap, domainname), , 0, 0, l);
 }
 
 int
@@ -74,8 +74,8 @@ compat_09_netbsd32_osetdomainname(struct
 
 	name[0] = CTL_KERN;
 	name[1] = KERN_DOMAINNAME;
-	return (old_sysctl([0], 2, 0, 0,
-	(char *)SCARG_P32(uap, domainname), SCARG(uap, len), l));
+	return old_sysctl([0], 2, 0, 0,
+	(char *)SCARG_P32(uap, domainname), SCARG(uap, len), l);
 }
 
 int
@@ -87,7 +87,7 @@ compat_09_netbsd32_uname(struct lwp *l, 
 	struct compat_09_sys_uname_args ua;
 
 	NETBSD32TOP_UAP(name, struct outsname);
-	return (compat_09_sys_uname(l, , retval));
+	return compat_09_sys_uname(l, , retval);
 }
 
 static struct syscall_package compat_netbsd32_09_syscalls[] = {
Index: src/sys/compat/netbsd32/netbsd32_ipc.c
diff -u src/sys/compat/netbsd32/netbsd32_ipc.c:1.19 src/sys/compat/netbsd32/netbsd32_ipc.c:1.20
--- src/sys/compat/netbsd32/netbsd32_ipc.c:1.19	Sun Jan 27 02:08:40 2019
+++ src/sys/compat/netbsd32/netbsd32_ipc.c	Tue Jan 19 03:20:13 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ipc.c,v 1.19 2019/01/27 02:08:40 pgoyette Exp $	*/
+/*	$NetBSD: netbsd32_ipc.c,v 1.20 2021/01/19 03:20:13 simonb Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_ipc.c,v 1.19 2019/01/27 02:08:40 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_ipc.c,v 1.20 2021/01/19 03:20:13 simonb Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_sysv.h"
@@ -162,7 +162,7 @@ netbsd32_semctl50(struct lwp *l, con
 			error = copyin(NETBSD32PTR64(karg32.buf), ,
 			sizeof(sembuf32));
 			if (error)
-return (error);
+return error;
 			

CVS commit: src/sys/compat/netbsd32

2021-01-18 Thread Simon Burge
Module Name:src
Committed By:   simonb
Date:   Tue Jan 19 02:40:07 UTC 2021

Modified Files:
src/sys/compat/netbsd32: netbsd32_exec.h

Log Message:
Whitespace nits.


To generate a diff of this commit:
cvs rdiff -u -r1.35 -r1.36 src/sys/compat/netbsd32/netbsd32_exec.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_exec.h
diff -u src/sys/compat/netbsd32/netbsd32_exec.h:1.35 src/sys/compat/netbsd32/netbsd32_exec.h:1.36
--- src/sys/compat/netbsd32/netbsd32_exec.h:1.35	Mon Jan 18 23:14:22 2021
+++ src/sys/compat/netbsd32/netbsd32_exec.h	Tue Jan 19 02:40:07 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_exec.h,v 1.35 2021/01/18 23:14:22 simonb Exp $	*/
+/*	$NetBSD: netbsd32_exec.h,v 1.36 2021/01/19 02:40:07 simonb Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -70,9 +70,9 @@ int netbsd32_elf32_copyargs(struct lwp *
 static __inline int netbsd32_copyargs(struct lwp *, struct exec_package *,
 struct ps_strings *, char **, void *);
 
-void netbsd32_setregs (struct lwp *, struct exec_package *, vaddr_t stack);
-int netbsd32_sigreturn (struct proc *, void *, register_t *);
-void netbsd32_sendsig (const ksiginfo_t *, const sigset_t *);
+void netbsd32_setregs(struct lwp *, struct exec_package *, vaddr_t stack);
+int netbsd32_sigreturn(struct proc *, void *, register_t *);
+void netbsd32_sendsig(const ksiginfo_t *, const sigset_t *);
 
 extern char netbsd32_esigcode[], netbsd32_sigcode[];
 



CVS commit: src/sys/compat/netbsd32

2021-01-18 Thread Simon Burge
Module Name:src
Committed By:   simonb
Date:   Tue Jan 19 01:47:58 UTC 2021

Modified Files:
src/sys/compat/netbsd32: netbsd32_vm.c

Log Message:
Also print mmap return value and error code #ifdef DEBUG_MMAP.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/compat/netbsd32/netbsd32_vm.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_vm.c
diff -u src/sys/compat/netbsd32/netbsd32_vm.c:1.2 src/sys/compat/netbsd32/netbsd32_vm.c:1.3
--- src/sys/compat/netbsd32/netbsd32_vm.c:1.2	Tue Jan  7 07:26:21 2020
+++ src/sys/compat/netbsd32/netbsd32_vm.c	Tue Jan 19 01:47:58 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_vm.c,v 1.2 2020/01/07 07:26:21 mrg Exp $	*/
+/*	$NetBSD: netbsd32_vm.c,v 1.3 2021/01/19 01:47:58 simonb Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001, 2008, 2018 Matthew R. Green
@@ -29,7 +29,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_vm.c,v 1.2 2020/01/07 07:26:21 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_vm.c,v 1.3 2021/01/19 01:47:58 simonb Exp $");
 
 #include 
 #include 
@@ -86,6 +86,9 @@ netbsd32_mmap(struct lwp *l, const struc
 #endif
 
 	error = sys_mmap(l, , retval);
+#ifdef DEBUG_MMAP
+	printf("mmap error = %d  *retval = %#"PRIxREGISTER"\n", error, *retval);
+#endif
 	if (error == 0 && (u_long)*retval > (u_long)UINT_MAX) {
 		const char *name = curlwp->l_name;
 



CVS commit: src/sys/compat/netbsd32

2021-01-18 Thread Simon Burge
Module Name:src
Committed By:   simonb
Date:   Mon Jan 18 23:14:22 UTC 2021

Modified Files:
src/sys/compat/netbsd32: netbsd32.h netbsd32_conv.h netbsd32_exec.h
netbsd32_socket.c

Log Message:
s/u_intN_t/uintN_t/


To generate a diff of this commit:
cvs rdiff -u -r1.135 -r1.136 src/sys/compat/netbsd32/netbsd32.h
cvs rdiff -u -r1.42 -r1.43 src/sys/compat/netbsd32/netbsd32_conv.h
cvs rdiff -u -r1.34 -r1.35 src/sys/compat/netbsd32/netbsd32_exec.h
cvs rdiff -u -r1.53 -r1.54 src/sys/compat/netbsd32/netbsd32_socket.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32.h
diff -u src/sys/compat/netbsd32/netbsd32.h:1.135 src/sys/compat/netbsd32/netbsd32.h:1.136
--- src/sys/compat/netbsd32/netbsd32.h:1.135	Thu Jan 14 08:00:45 2021
+++ src/sys/compat/netbsd32/netbsd32.h	Mon Jan 18 23:14:22 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32.h,v 1.135 2021/01/14 08:00:45 simonb Exp $	*/
+/*	$NetBSD: netbsd32.h,v 1.136 2021/01/18 23:14:22 simonb Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001, 2008, 2015 Matthew R. Green
@@ -1071,14 +1071,14 @@ typedef netbsd32_pointer_t netbsd32_nfsd
 struct netbsd32_nfsd_srvargs {
 	netbsd32_nfsdp	nsd_nfsd;
 	uid_t		nsd_uid;
-	u_int32_t	nsd_haddr;
+	uint32_t	nsd_haddr;
 	struct uucred	nsd_cr;
 	int		nsd_authlen;
 	netbsd32_u_charp nsd_authstr;
 	int		nsd_verflen;
 	netbsd32_u_charp nsd_verfstr;
 	struct netbsd32_timeval	nsd_timestamp;
-	u_int32_t	nsd_ttl;
+	uint32_t	nsd_ttl;
 	NFSKERBKEY_T	nsd_key;
 };
 

Index: src/sys/compat/netbsd32/netbsd32_conv.h
diff -u src/sys/compat/netbsd32/netbsd32_conv.h:1.42 src/sys/compat/netbsd32/netbsd32_conv.h:1.43
--- src/sys/compat/netbsd32/netbsd32_conv.h:1.42	Mon Nov 18 04:17:08 2019
+++ src/sys/compat/netbsd32/netbsd32_conv.h	Mon Jan 18 23:14:22 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_conv.h,v 1.42 2019/11/18 04:17:08 rin Exp $	*/
+/*	$NetBSD: netbsd32_conv.h,v 1.43 2021/01/18 23:14:22 simonb Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -245,8 +245,8 @@ netbsd32_to_iovecin(const struct netbsd3
 int len)
 {
 	int i, error=0;
-	u_int32_t iov_base;
-	u_int32_t iov_len;
+	uint32_t iov_base;
+	uint32_t iov_len;
 	/*
 	 * We could allocate an iov32p, do a copyin, and translate
 	 * each field and then free it all up, or we could copyin
@@ -799,11 +799,11 @@ netbsd32_to_dirent12(char *buf, int nbyt
 	 */
 	for (; ndp < endp; ndp = nndp) {
 		nndp = _DIRENT_NEXT(ndp);
-		odp->d_fileno = (u_int32_t)ndp->d_fileno;
+		odp->d_fileno = (uint32_t)ndp->d_fileno;
 		if (ndp->d_namlen >= sizeof(odp->d_name))
 			odp->d_namlen = sizeof(odp->d_name) - 1;
 		else
-			odp->d_namlen = (u_int8_t)ndp->d_namlen;
+			odp->d_namlen = (uint8_t)ndp->d_namlen;
 		odp->d_type = ndp->d_type;
 		(void)memcpy(odp->d_name, ndp->d_name, (size_t)odp->d_namlen);
 		odp->d_name[odp->d_namlen] = '\0';

Index: src/sys/compat/netbsd32/netbsd32_exec.h
diff -u src/sys/compat/netbsd32/netbsd32_exec.h:1.34 src/sys/compat/netbsd32/netbsd32_exec.h:1.35
--- src/sys/compat/netbsd32/netbsd32_exec.h:1.34	Sun Jan 27 02:08:40 2019
+++ src/sys/compat/netbsd32/netbsd32_exec.h	Mon Jan 18 23:14:22 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_exec.h,v 1.34 2019/01/27 02:08:40 pgoyette Exp $	*/
+/*	$NetBSD: netbsd32_exec.h,v 1.35 2021/01/18 23:14:22 simonb Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -83,9 +83,9 @@ static __inline int
 netbsd32_copyargs(struct lwp *l, struct exec_package *pack,
 		struct ps_strings *arginfo, char **stackp, void *argp)
 {
-	u_int32_t *cpp = (u_int32_t *)*stackp;
+	uint32_t *cpp = (uint32_t *)*stackp;
 	netbsd32_pointer_t dp;
-	u_int32_t nullp = 0;
+	uint32_t nullp = 0;
 	char *sp;
 	size_t len;
 	int argc = arginfo->ps_nargvstr;

Index: src/sys/compat/netbsd32/netbsd32_socket.c
diff -u src/sys/compat/netbsd32/netbsd32_socket.c:1.53 src/sys/compat/netbsd32/netbsd32_socket.c:1.54
--- src/sys/compat/netbsd32/netbsd32_socket.c:1.53	Sat Sep 28 08:21:08 2019
+++ src/sys/compat/netbsd32/netbsd32_socket.c	Mon Jan 18 23:14:22 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_socket.c,v 1.53 2019/09/28 08:21:08 mlelstv Exp $	*/
+/*	$NetBSD: netbsd32_socket.c,v 1.54 2021/01/18 23:14:22 simonb Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_socket.c,v 1.53 2019/09/28 08:21:08 mlelstv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_socket.c,v 1.54 2021/01/18 23:14:22 simonb Exp $");
 
 #include 
 #include 
@@ -386,7 +386,7 @@ copyin32_msg_control(struct lwp *l, stru
 	struct mbuf *ctl_mbuf;
 	ssize_t resid = mp->msg_controllen;
 	size_t clen, cidx = 0, cspace;
-	u_int8_t *control;
+	uint8_t *control;
 	int error;
 
 	ctl_mbuf = m_get(M_WAIT, MT_CONTROL);
@@ -414,7 +414,7 @@ copyin32_msg_control(struct lwp *l, stru
 
 		/* Check the buffer is big enough */
 		if (__predict_false(cidx + cspace > clen)) {
-			u_int8_t *nc;
+			

CVS commit: src/sys/compat/netbsd32

2021-01-17 Thread Simon Burge
Module Name:src
Committed By:   simonb
Date:   Sun Jan 17 10:50:01 UTC 2021

Modified Files:
src/sys/compat/netbsd32: netbsd32_ioctl.c netbsd32_ioctl.h

Log Message:
Handle the SIOCGNBRINFO_IN6 ioctl for compat32.  ndp -a works with
compat32 now.


To generate a diff of this commit:
cvs rdiff -u -r1.117 -r1.118 src/sys/compat/netbsd32/netbsd32_ioctl.c
cvs rdiff -u -r1.76 -r1.77 src/sys/compat/netbsd32/netbsd32_ioctl.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_ioctl.c
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.c:1.117 src/sys/compat/netbsd32/netbsd32_ioctl.c:1.118
--- src/sys/compat/netbsd32/netbsd32_ioctl.c:1.117	Thu Jan 14 23:30:50 2021
+++ src/sys/compat/netbsd32/netbsd32_ioctl.c	Sun Jan 17 10:50:01 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.c,v 1.117 2021/01/14 23:30:50 simonb Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.c,v 1.118 2021/01/17 10:50:01 simonb Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -31,7 +31,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.117 2021/01/14 23:30:50 simonb Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.118 2021/01/17 10:50:01 simonb Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ntp.h"
@@ -86,6 +86,9 @@ __KERNEL_RCSID(0, "$NetBSD: netbsd32_ioc
 #include 
 #include 
 
+#include 
+#include 
+
 #include 
 
 #include 
@@ -177,6 +180,20 @@ netbsd32_to_ifmediareq(struct netbsd32_i
 }
 
 static inline void
+netbsd32_to_in6_nbrinfo(struct netbsd32_in6_nbrinfo *s32p, struct in6_nbrinfo *p,
+u_long cmd)
+{
+
+	memcpy(p->ifname, s32p->ifname, sizeof p->ifname);
+	memcpy(>addr, >addr, sizeof p->addr);
+	p->asked = s32p->asked;
+	p->isrouter = s32p->isrouter;
+	p->state = s32p->state;
+	p->expire = s32p->expire;
+	
+}
+
+static inline void
 netbsd32_to_pppoediscparms(struct netbsd32_pppoediscparms *s32p,
 struct pppoediscparms *p, u_long cmd)
 {
@@ -698,6 +715,19 @@ netbsd32_from_ifmediareq(struct ifmediar
 }
 
 static inline void
+netbsd32_from_in6_nbrinfo(struct in6_nbrinfo *p, struct netbsd32_in6_nbrinfo *s32p,
+u_long cmd)
+{
+
+	memcpy(s32p->ifname, p->ifname, sizeof s32p->ifname);
+	memcpy(>addr, >addr, sizeof s32p->addr);
+	s32p->asked = p->asked;
+	s32p->isrouter = p->isrouter;
+	s32p->state = p->state;
+	s32p->expire = p->expire;
+}
+
+static inline void
 netbsd32_from_pppoediscparms(struct pppoediscparms *p,
 struct netbsd32_pppoediscparms *s32p, u_long cmd)
 {
@@ -1495,6 +1525,9 @@ netbsd32_ioctl(struct lwp *l,
 	case SIOCGIFMEDIA32:
 		IOCTL_STRUCT_CONV_TO(SIOCGIFMEDIA, ifmediareq);
 
+	case SIOCGNBRINFO_IN632:
+		IOCTL_STRUCT_CONV_TO(SIOCGNBRINFO_IN6, in6_nbrinfo);
+
 	case SIOCGIFGENERIC32:
 		IOCTL_STRUCT_CONV_TO(SIOCGIFGENERIC, ifreq);
 	case SIOCSIFGENERIC32:

Index: src/sys/compat/netbsd32/netbsd32_ioctl.h
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.h:1.76 src/sys/compat/netbsd32/netbsd32_ioctl.h:1.77
--- src/sys/compat/netbsd32/netbsd32_ioctl.h:1.76	Thu Jan 14 08:22:51 2021
+++ src/sys/compat/netbsd32/netbsd32_ioctl.h	Sun Jan 17 10:50:01 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.h,v 1.76 2021/01/14 08:22:51 simonb Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.h,v 1.77 2021/01/17 10:50:01 simonb Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -480,6 +480,18 @@ struct netbsd32_sioc_vif_req {
 /* from  */
 #define	SIOCGETVIFCNT32	_IOWR('u', 51, struct netbsd32_sioc_vif_req)/* vif pkt cnt */
 
+/* from  */
+struct netbsd32_in6_nbrinfo {
+	char ifname[IFNAMSIZ];	/* if name, e.g. "en0" */
+	struct in6_addr addr;	/* IPv6 address of the neighbor */
+	netbsd32_long	asked;	/* number of queries already sent for this addr */
+	int	isrouter;	/* if it acts as a router */
+	int	state;		/* reachability state */
+	int	expire;		/* lifetime for NDP state transition */
+};
+/* from  */
+#define SIOCGNBRINFO_IN632	_IOWR('i', 78, struct netbsd32_in6_nbrinfo)
+
 struct netbsd32_sioc_sg_req {
 	struct	in_addr src;
 	struct	in_addr grp;



CVS commit: src/sys/compat/netbsd32

2021-01-14 Thread Simon Burge
Module Name:src
Committed By:   simonb
Date:   Fri Jan 15 03:51:41 UTC 2021

Modified Files:
src/sys/compat/netbsd32: netbsd32_netbsd.c

Log Message:
Remove unused LIMITCHECK() macro (now contained in netbsd32_rlimit.c).


To generate a diff of this commit:
cvs rdiff -u -r1.230 -r1.231 src/sys/compat/netbsd32/netbsd32_netbsd.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_netbsd.c
diff -u src/sys/compat/netbsd32/netbsd32_netbsd.c:1.230 src/sys/compat/netbsd32/netbsd32_netbsd.c:1.231
--- src/sys/compat/netbsd32/netbsd32_netbsd.c:1.230	Sat Oct 10 00:00:54 2020
+++ src/sys/compat/netbsd32/netbsd32_netbsd.c	Fri Jan 15 03:51:41 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_netbsd.c,v 1.230 2020/10/10 00:00:54 rin Exp $	*/
+/*	$NetBSD: netbsd32_netbsd.c,v 1.231 2021/01/15 03:51:41 simonb Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001, 2008, 2018 Matthew R. Green
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_netbsd.c,v 1.230 2020/10/10 00:00:54 rin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_netbsd.c,v 1.231 2021/01/15 03:51:41 simonb Exp $");
 
 /*
  * below are all the standard NetBSD system calls, in the 32bit
@@ -109,8 +109,6 @@ void netbsd32_syscall_intern(struct proc
 void syscall(void);
 #endif
 
-#define LIMITCHECK(a, b) ((a) != RLIM_INFINITY && (a) > (b))
-
 #ifdef MODULAR
 #include 
 #endif



CVS commit: src/sys/compat/netbsd32

2021-01-14 Thread Simon Burge
Module Name:src
Committed By:   simonb
Date:   Thu Jan 14 23:30:50 UTC 2021

Modified Files:
src/sys/compat/netbsd32: netbsd32_ioctl.c

Log Message:
Remove some blank lines to group the VND and FSS ioctls together.


To generate a diff of this commit:
cvs rdiff -u -r1.116 -r1.117 src/sys/compat/netbsd32/netbsd32_ioctl.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_ioctl.c
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.c:1.116 src/sys/compat/netbsd32/netbsd32_ioctl.c:1.117
--- src/sys/compat/netbsd32/netbsd32_ioctl.c:1.116	Thu Jan 14 08:22:51 2021
+++ src/sys/compat/netbsd32/netbsd32_ioctl.c	Thu Jan 14 23:30:50 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.c,v 1.116 2021/01/14 08:22:51 simonb Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.c,v 1.117 2021/01/14 23:30:50 simonb Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -31,7 +31,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.116 2021/01/14 08:22:51 simonb Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.117 2021/01/14 23:30:50 simonb Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ntp.h"
@@ -1522,22 +1522,17 @@ netbsd32_ioctl(struct lwp *l,
 
 	case FSSIOCSET32:	/* XXX FSSIOCSET50 not yet handled */
 		IOCTL_STRUCT_CONV_TO(FSSIOCSET, fss_set);
-
 	case FSSIOCGET32:	/* XXX FSSIOCGET50 not yet handled */
 		IOCTL_STRUCT_CONV_TO(FSSIOCGET, fss_get);
 
 	case VNDIOCSET32:
 		IOCTL_STRUCT_CONV_TO(VNDIOCSET, vnd_ioctl);
-
 	case VNDIOCCLR32:
 		IOCTL_STRUCT_CONV_TO(VNDIOCCLR, vnd_ioctl);
-
 	case VNDIOCGET32:
 		IOCTL_STRUCT_CONV_TO(VNDIOCGET, vnd_user);
-
 	case VNDIOCSET5032:
 		IOCTL_STRUCT_CONV_TO(VNDIOCSET50, vnd_ioctl50);
-
 	case VNDIOCCLR5032:
 		IOCTL_STRUCT_CONV_TO(VNDIOCCLR50, vnd_ioctl50);
 



CVS commit: src/sys/compat/netbsd32

2021-01-14 Thread Simon Burge
Module Name:src
Committed By:   simonb
Date:   Thu Jan 14 08:22:51 UTC 2021

Modified Files:
src/sys/compat/netbsd32: netbsd32_ioctl.c netbsd32_ioctl.h

Log Message:
Handle the KFILTER_BYFILTER and KFILTER_BYNAME ioctls for compat32.
Passes "atf kernel/kqueue/t_ioctl".


To generate a diff of this commit:
cvs rdiff -u -r1.115 -r1.116 src/sys/compat/netbsd32/netbsd32_ioctl.c
cvs rdiff -u -r1.75 -r1.76 src/sys/compat/netbsd32/netbsd32_ioctl.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_ioctl.c
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.c:1.115 src/sys/compat/netbsd32/netbsd32_ioctl.c:1.116
--- src/sys/compat/netbsd32/netbsd32_ioctl.c:1.115	Thu Jan 14 08:00:45 2021
+++ src/sys/compat/netbsd32/netbsd32_ioctl.c	Thu Jan 14 08:22:51 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.c,v 1.115 2021/01/14 08:00:45 simonb Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.c,v 1.116 2021/01/14 08:22:51 simonb Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -31,7 +31,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.115 2021/01/14 08:00:45 simonb Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.116 2021/01/14 08:22:51 simonb Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ntp.h"
@@ -244,6 +244,16 @@ netbsd32_to_sioc_sg_req(struct netbsd32_
 }
 
 static inline void
+netbsd32_to_kfilter_mapping(struct netbsd32_kfilter_mapping *s32p,
+struct kfilter_mapping *p, u_long cmd)
+{
+
+	p->name = (char *)NETBSD32PTR64(s32p->name);
+	p->len = s32p->len;
+	p->filter = s32p->filter;
+}
+
+static inline void
 netbsd32_to_atareq(struct netbsd32_atareq *s32p, struct atareq *p, u_long cmd)
 {
 
@@ -755,6 +765,16 @@ netbsd32_from_sioc_sg_req(struct sioc_sg
 }
 
 static inline void
+netbsd32_from_kfilter_mapping(struct kfilter_mapping *p,
+struct netbsd32_kfilter_mapping *s32p, u_long cmd)
+{
+
+	NETBSD32PTR32(s32p->name, p->name);
+	s32p->len = p->len;
+	s32p->filter = p->filter;
+}
+
+static inline void
 netbsd32_from_atareq(struct atareq *p,
 struct netbsd32_atareq *s32p, u_long cmd)
 {
@@ -1369,6 +1389,11 @@ netbsd32_ioctl(struct lwp *l,
 		IOCTL_STRUCT_CONV_TO(DIOCWFORMAT, format_op);
 #endif
 
+	case KFILTER_BYFILTER32:
+		IOCTL_STRUCT_CONV_TO(KFILTER_BYFILTER, kfilter_mapping);
+	case KFILTER_BYNAME32:
+		IOCTL_STRUCT_CONV_TO(KFILTER_BYNAME, kfilter_mapping);
+
 	case ATAIOCCOMMAND32:
 		IOCTL_STRUCT_CONV_TO(ATAIOCCOMMAND, atareq);
 

Index: src/sys/compat/netbsd32/netbsd32_ioctl.h
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.h:1.75 src/sys/compat/netbsd32/netbsd32_ioctl.h:1.76
--- src/sys/compat/netbsd32/netbsd32_ioctl.h:1.75	Thu Jan 14 08:00:45 2021
+++ src/sys/compat/netbsd32/netbsd32_ioctl.h	Thu Jan 14 08:22:51 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.h,v 1.75 2021/01/14 08:00:45 simonb Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.h,v 1.76 2021/01/14 08:22:51 simonb Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -89,6 +89,19 @@ struct netbsd32_format_op {
 #define DIOCWFORMAT32	_IOWR('d', 106, struct netbsd32_format_op)
 #endif
 
+/* from  */
+
+struct netbsd32_kfilter_mapping {
+	netbsd32_charp	name;		/* name to lookup or return */
+	netbsd32_size_t	len;		/* length of name */
+	uint32_t	filter;		/* filter to lookup or return */
+};
+
+/* map filter to name (max size len) */
+#define KFILTER_BYFILTER32	_IOWR('k', 0, struct netbsd32_kfilter_mapping)
+/* map name to filter (len ignored) */
+#define KFILTER_BYNAME32	_IOWR('k', 1, struct netbsd32_kfilter_mapping)
+
 /* from  */
 struct netbsd32_atareq {
 	netbsd32_u_long		flags;



CVS commit: src/sys/compat/netbsd32

2021-01-14 Thread Simon Burge
Module Name:src
Committed By:   simonb
Date:   Thu Jan 14 08:00:45 UTC 2021

Modified Files:
src/sys/compat/netbsd32: netbsd32.h netbsd32_ioctl.c netbsd32_ioctl.h

Log Message:
Handle FSSIOCSET and FSSIOCGET; vndconfig(8) works with compat32 now.
XXX: FSSIOCSET50 and FSSIOCGET50 are not (yet) handled.


To generate a diff of this commit:
cvs rdiff -u -r1.134 -r1.135 src/sys/compat/netbsd32/netbsd32.h
cvs rdiff -u -r1.114 -r1.115 src/sys/compat/netbsd32/netbsd32_ioctl.c
cvs rdiff -u -r1.74 -r1.75 src/sys/compat/netbsd32/netbsd32_ioctl.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32.h
diff -u src/sys/compat/netbsd32/netbsd32.h:1.134 src/sys/compat/netbsd32/netbsd32.h:1.135
--- src/sys/compat/netbsd32/netbsd32.h:1.134	Sun Nov  1 18:51:02 2020
+++ src/sys/compat/netbsd32/netbsd32.h	Thu Jan 14 08:00:45 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32.h,v 1.134 2020/11/01 18:51:02 pgoyette Exp $	*/
+/*	$NetBSD: netbsd32.h,v 1.135 2021/01/14 08:00:45 simonb Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001, 2008, 2015 Matthew R. Green
@@ -203,6 +203,7 @@ typedef netbsd32_pointer_t netbsd32_semi
 typedef netbsd32_uint64 netbsd32_dev_t;
 typedef netbsd32_int64 netbsd32_off_t;
 typedef netbsd32_uint64 netbsd32_ino_t;
+typedef netbsd32_int64 netbsd32_blkcnt_t;
 
 /* from  */
 typedef netbsd32_pointer_t netbsd32_posix_spawn_file_actionsp;

Index: src/sys/compat/netbsd32/netbsd32_ioctl.c
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.c:1.114 src/sys/compat/netbsd32/netbsd32_ioctl.c:1.115
--- src/sys/compat/netbsd32/netbsd32_ioctl.c:1.114	Tue Jul 21 05:33:51 2020
+++ src/sys/compat/netbsd32/netbsd32_ioctl.c	Thu Jan 14 08:00:45 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.c,v 1.114 2020/07/21 05:33:51 simonb Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.c,v 1.115 2021/01/14 08:00:45 simonb Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -31,7 +31,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.114 2020/07/21 05:33:51 simonb Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.115 2021/01/14 08:00:45 simonb Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ntp.h"
@@ -93,6 +93,7 @@ __KERNEL_RCSID(0, "$NetBSD: netbsd32_ioc
 #include 
 #include 
 
+#include 
 #include 
 
 /* convert to/from different structures */
@@ -261,6 +262,30 @@ netbsd32_to_atareq(struct netbsd32_atare
 }
 
 static inline void
+netbsd32_to_fss_set(struct netbsd32_fss_set *s32p, struct fss_set *p,
+u_long cmd)
+{
+
+	p->fss_mount = (char *)NETBSD32PTR64(s32p->fss_mount);
+	p->fss_bstore = (char *)NETBSD32PTR64(s32p->fss_bstore);
+	p->fss_csize = s32p->fss_csize;
+	p->fss_flags = s32p->fss_flags;
+}
+
+static inline void
+netbsd32_to_fss_get(struct netbsd32_fss_get *s32p, struct fss_get *p,
+u_long cmd)
+{
+
+	memcpy(p->fsg_mount, s32p->fsg_mount, MNAMELEN);
+	netbsd32_to_timeval(>fsg_time, >fsg_time);
+	p->fsg_csize = s32p->fsg_csize;
+	p->fsg_mount_size = s32p->fsg_mount_size;
+	p->fsg_bs_size = s32p->fsg_bs_size;
+
+}
+
+static inline void
 netbsd32_to_vnd_ioctl(struct netbsd32_vnd_ioctl *s32p,
 struct vnd_ioctl *p, u_long cmd)
 {
@@ -749,6 +774,30 @@ netbsd32_from_atareq(struct atareq *p,
 }
 
 static inline void
+netbsd32_from_fss_set(struct fss_set *p, struct netbsd32_fss_set *s32p,
+u_long cmd)
+{
+
+	NETBSD32PTR32(s32p->fss_mount, p->fss_mount);
+	NETBSD32PTR32(s32p->fss_bstore, p->fss_bstore);
+	s32p->fss_csize = p->fss_csize;
+	s32p->fss_flags = p->fss_flags;
+}
+
+static inline void
+netbsd32_from_fss_get(struct fss_get *p, struct netbsd32_fss_get *s32p,
+u_long cmd)
+{
+
+	memcpy(s32p->fsg_mount, p->fsg_mount, MNAMELEN);
+	netbsd32_from_timeval(>fsg_time, >fsg_time);
+	s32p->fsg_csize = p->fsg_csize;
+	s32p->fsg_mount_size = p->fsg_mount_size;
+	s32p->fsg_bs_size = p->fsg_bs_size;
+
+}
+
+static inline void
 netbsd32_from_vnd_ioctl(struct vnd_ioctl *p,
 struct netbsd32_vnd_ioctl *s32p, u_long cmd)
 {
@@ -1446,6 +1495,12 @@ netbsd32_ioctl(struct lwp *l,
 	case SIOCGETSGCNT32:
 		IOCTL_STRUCT_CONV_TO(SIOCGETSGCNT, sioc_sg_req);
 
+	case FSSIOCSET32:	/* XXX FSSIOCSET50 not yet handled */
+		IOCTL_STRUCT_CONV_TO(FSSIOCSET, fss_set);
+
+	case FSSIOCGET32:	/* XXX FSSIOCGET50 not yet handled */
+		IOCTL_STRUCT_CONV_TO(FSSIOCGET, fss_get);
+
 	case VNDIOCSET32:
 		IOCTL_STRUCT_CONV_TO(VNDIOCSET, vnd_ioctl);
 

Index: src/sys/compat/netbsd32/netbsd32_ioctl.h
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.h:1.74 src/sys/compat/netbsd32/netbsd32_ioctl.h:1.75
--- src/sys/compat/netbsd32/netbsd32_ioctl.h:1.74	Thu Jan 14 02:43:04 2021
+++ src/sys/compat/netbsd32/netbsd32_ioctl.h	Thu Jan 14 08:00:45 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.h,v 1.74 2021/01/14 02:43:04 simonb Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.h,v 1.75 2021/01/14 08:00:45 simonb Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -477,6 +477,26 @@ struct 

CVS commit: src/sys/compat/netbsd32

2021-01-13 Thread Simon Burge
Module Name:src
Committed By:   simonb
Date:   Thu Jan 14 02:51:52 UTC 2021

Modified Files:
src/sys/compat/netbsd32: netbsd32_lwp.c

Log Message:
Handle rev 1.62 of kern/sys_lwp.c
   make _lwp_park return the remaining time to sleep in the "ts" argument
   if it is a relative timestamp, as discussed in tech-kern.
for compat32.  Thanks skrll@ for some cleanup tips.


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/sys/compat/netbsd32/netbsd32_lwp.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_lwp.c
diff -u src/sys/compat/netbsd32/netbsd32_lwp.c:1.22 src/sys/compat/netbsd32/netbsd32_lwp.c:1.23
--- src/sys/compat/netbsd32/netbsd32_lwp.c:1.22	Wed Jan 29 15:47:52 2020
+++ src/sys/compat/netbsd32/netbsd32_lwp.c	Thu Jan 14 02:51:52 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_lwp.c,v 1.22 2020/01/29 15:47:52 ad Exp $	*/
+/*	$NetBSD: netbsd32_lwp.c,v 1.23 2021/01/14 02:51:52 simonb Exp $	*/
 
 /*
  *  Copyright (c) 2005, 2006, 2007, 2020 The NetBSD Foundation.
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_lwp.c,v 1.22 2020/01/29 15:47:52 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_lwp.c,v 1.23 2021/01/14 02:51:52 simonb Exp $");
 
 #include 
 #include 
@@ -170,6 +170,7 @@ netbsd32lwp_park60(struct lwp *l,
 	} */
 	struct timespec ts, *tsp;
 	struct netbsd32_timespec ts32;
+	int ret;
 	int error;
 
 	if (SCARG_P32(uap, ts) == NULL)
@@ -188,7 +189,12 @@ netbsd32lwp_park60(struct lwp *l,
 			return error;
 	}
 
-	return lwp_park(SCARG(uap, clock_id), SCARG(uap, flags), tsp);
+	ret = lwp_park(SCARG(uap, clock_id), SCARG(uap, flags), tsp);
+	if (SCARG_P32(uap, ts) != NULL && (SCARG(uap, flags) & TIMER_ABSTIME) == 0) {
+		netbsd32_from_timespec(, );
+		(void)copyout(, SCARG_P32(uap, ts), sizeof(ts32));
+	}
+	return ret;
 }
 
 int



CVS commit: src/sys/compat/netbsd32

2021-01-13 Thread Simon Burge
Module Name:src
Committed By:   simonb
Date:   Thu Jan 14 02:43:04 UTC 2021

Modified Files:
src/sys/compat/netbsd32: netbsd32_ioctl.h

Log Message:
Use netbsd32_* types instead of relying on __packed in the vnd ioctl
structures.  __packed didn't work on archs where 64-bit types were
64-bit aligned with a 32-bit ABI (eg MIPS n32).

OK mrg@


To generate a diff of this commit:
cvs rdiff -u -r1.73 -r1.74 src/sys/compat/netbsd32/netbsd32_ioctl.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_ioctl.h
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.h:1.73 src/sys/compat/netbsd32/netbsd32_ioctl.h:1.74
--- src/sys/compat/netbsd32/netbsd32_ioctl.h:1.73	Mon Sep  7 03:12:51 2020
+++ src/sys/compat/netbsd32/netbsd32_ioctl.h	Thu Jan 14 02:43:04 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.h,v 1.73 2020/09/07 03:12:51 mrg Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.h,v 1.74 2021/01/14 02:43:04 simonb Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -42,6 +42,8 @@
 #include 
 #include 
 
+#include 
+
 /* we define some handy macros here... */
 #define IOCTL_STRUCT_CONV_TO(cmd, type)	\
 		size = IOCPARM_LEN(cmd); \
@@ -475,23 +477,19 @@ struct netbsd32_sioc_sg_req {
 /* from  */
 #define	SIOCGETSGCNT32	_IOWR('u', 52, struct netbsd32_sioc_sg_req) /* sg pkt cnt */
 
-/*
- * The next two structures are marked "__packed" as they normally end up
- * being padded in 64-bit mode.
- */
 struct netbsd32_vnd_ioctl {
 	netbsd32_charp	vnd_file;	/* pathname of file to mount */
 	int		vnd_flags;	/* flags; see below */
 	struct vndgeom	vnd_geom;	/* geometry to emulate */
 	unsigned int	vnd_osize;	/* (returned) size of disk */
-	uint64_t	vnd_size;	/* (returned) size of disk */
-} __packed;
+	netbsd32_uint64	vnd_size;	/* (returned) size of disk */
+};
 
 struct netbsd32_vnd_user {
 	int		vnu_unit;	/* which vnd unit */
-	dev_t		vnu_dev;	/* file is on this device... */
-	ino_t		vnu_ino;	/* ...at this inode */
-} __packed;
+	netbsd32_dev_t	vnu_dev;	/* file is on this device... */
+	netbsd32_ino_t	vnu_ino;	/* ...at this inode */
+};
 
 /* from  */
 #define VNDIOCSET32	_IOWR('F', 0, struct netbsd32_vnd_ioctl)	/* enable disk */



CVS commit: src/sys/compat/netbsd32

2020-11-07 Thread Rin Okuyama
Module Name:src
Committed By:   rin
Date:   Sun Nov  8 07:30:09 UTC 2020

Modified Files:
src/sys/compat/netbsd32: netbsd32_core.c

Log Message:
Fix typo; s/__LP64/_LP64/


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/sys/compat/netbsd32/netbsd32_core.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_core.c
diff -u src/sys/compat/netbsd32/netbsd32_core.c:1.17 src/sys/compat/netbsd32/netbsd32_core.c:1.18
--- src/sys/compat/netbsd32/netbsd32_core.c:1.17	Wed Nov  4 20:54:20 2020
+++ src/sys/compat/netbsd32/netbsd32_core.c	Sun Nov  8 07:30:09 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_core.c,v 1.17 2020/11/04 20:54:20 pgoyette Exp $	*/
+/*	$NetBSD: netbsd32_core.c,v 1.18 2020/11/08 07:30:09 rin Exp $	*/
 
 /*
  * Copyright (c) 1997 Charles D. Cranor and Washington University.
@@ -45,7 +45,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_core.c,v 1.17 2020/11/04 20:54:20 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_core.c,v 1.18 2020/11/08 07:30:09 rin Exp $");
 
 #include 
 #include 
@@ -72,13 +72,13 @@ compat_netbsd32_coredump_modcmd(modcmd_t
 	switch (cmd) {
 	case MODULE_CMD_INIT:
 		MODULE_HOOK_SET(coredump_netbsd32_hook, real_coredump_netbsd32);
-#if defined(EXEC_ELF32) && defined(__LP64)
+#if defined(EXEC_ELF32) && defined(_LP64)
 		MODULE_HOOK_SET(coredump_elf32_hook, real_coredump_elf32);
 #endif
 		return 0;
 	case MODULE_CMD_FINI:
 		MODULE_HOOK_UNSET(coredump_netbsd32_hook);
-#if defined(EXEC_ELF32) && defined(__LP64)
+#if defined(EXEC_ELF32) && defined(_LP64)
 		MODULE_HOOK_UNSET(coredump_elf32_hook);
 #endif
 		return 0;



CVS commit: src/sys/compat/netbsd32

2020-10-15 Thread Rin Okuyama
Module Name:src
Committed By:   rin
Date:   Thu Oct 15 23:06:06 UTC 2020

Modified Files:
src/sys/compat/netbsd32: netbsd32_wait.c

Log Message:
wait4(2): make error paths match with that of native wait4(2):

https://nxr.netbsd.org/xref/src/sys/kern/kern_exit.c#720


To generate a diff of this commit:
cvs rdiff -u -r1.23 -r1.24 src/sys/compat/netbsd32/netbsd32_wait.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_wait.c
diff -u src/sys/compat/netbsd32/netbsd32_wait.c:1.23 src/sys/compat/netbsd32/netbsd32_wait.c:1.24
--- src/sys/compat/netbsd32/netbsd32_wait.c:1.23	Fri Sep 23 14:09:39 2016
+++ src/sys/compat/netbsd32/netbsd32_wait.c	Thu Oct 15 23:06:06 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_wait.c,v 1.23 2016/09/23 14:09:39 skrll Exp $	*/
+/*	$NetBSD: netbsd32_wait.c,v 1.24 2020/10/15 23:06:06 rin Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_wait.c,v 1.23 2016/09/23 14:09:39 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_wait.c,v 1.24 2020/10/15 23:06:06 rin Exp $");
 
 #include 
 #include 
@@ -66,14 +66,15 @@ netbsd32___wait450(struct lwp *l, const 
 	if (pid == 0)
 		return error;
 
-	if (SCARG_P32(uap, rusage)) {
+	if (SCARG_P32(uap, status))
+		error = copyout(, SCARG_P32(uap, status),
+		sizeof(status));
+
+	if (SCARG_P32(uap, rusage) && error == 0) {
 		netbsd32_from_rusage(, );
 		error = copyout(, SCARG_P32(uap, rusage), sizeof(ru32));
 	}
 
-	if (error == 0 && SCARG_P32(uap, status))
-		error = copyout(, SCARG_P32(uap, status), sizeof(status));
-
 	return error;
 }
 



CVS commit: src/sys/compat/netbsd32

2020-10-09 Thread Rin Okuyama
Module Name:src
Committed By:   rin
Date:   Sat Oct 10 00:03:53 UTC 2020

Modified Files:
src/sys/compat/netbsd32: netbsd32_syscall.h netbsd32_syscallargs.h
netbsd32_syscalls.c netbsd32_syscalls_autoload.c netbsd32_sysent.c
netbsd32_systrace_args.c

Log Message:
regen for getrandom(2)


To generate a diff of this commit:
cvs rdiff -u -r1.154 -r1.155 src/sys/compat/netbsd32/netbsd32_syscall.h
cvs rdiff -u -r1.153 -r1.154 src/sys/compat/netbsd32/netbsd32_syscallargs.h \
src/sys/compat/netbsd32/netbsd32_syscalls.c
cvs rdiff -u -r1.33 -r1.34 \
src/sys/compat/netbsd32/netbsd32_syscalls_autoload.c
cvs rdiff -u -r1.152 -r1.153 src/sys/compat/netbsd32/netbsd32_sysent.c
cvs rdiff -u -r1.44 -r1.45 src/sys/compat/netbsd32/netbsd32_systrace_args.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_syscall.h
diff -u src/sys/compat/netbsd32/netbsd32_syscall.h:1.154 src/sys/compat/netbsd32/netbsd32_syscall.h:1.155
--- src/sys/compat/netbsd32/netbsd32_syscall.h:1.154	Sat May 16 18:31:48 2020
+++ src/sys/compat/netbsd32/netbsd32_syscall.h	Sat Oct 10 00:03:52 2020
@@ -1,10 +1,10 @@
-/* $NetBSD: netbsd32_syscall.h,v 1.154 2020/05/16 18:31:48 christos Exp $ */
+/* $NetBSD: netbsd32_syscall.h,v 1.155 2020/10/10 00:03:52 rin Exp $ */
 
 /*
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.137 2020/04/26 19:18:36 thorpej Exp
+ * created from	NetBSD: syscalls.master,v 1.139 2020/10/10 00:00:54 rin Exp
  */
 
 #ifndef _NETBSD32_SYS_SYSCALL_H_
@@ -271,6 +271,9 @@
 /* syscall: "netbsd32_dup2" ret: "int" args: "int" "int" */
 #define	NETBSD32_SYS_netbsd32_dup2	90
 
+/* syscall: "netbsd32_getrandom" ret: "netbsd32_ssize_t" args: "netbsd32_voidp" "netbsd32_size_t" "unsigned int" */
+#define	NETBSD32_SYS_netbsd32_getrandom	91
+
 /* syscall: "netbsd32_fcntl" ret: "int" args: "int" "int" "..." */
 #define	NETBSD32_SYS_netbsd32_fcntl	92
 

Index: src/sys/compat/netbsd32/netbsd32_syscallargs.h
diff -u src/sys/compat/netbsd32/netbsd32_syscallargs.h:1.153 src/sys/compat/netbsd32/netbsd32_syscallargs.h:1.154
--- src/sys/compat/netbsd32/netbsd32_syscallargs.h:1.153	Sat May 16 18:31:48 2020
+++ src/sys/compat/netbsd32/netbsd32_syscallargs.h	Sat Oct 10 00:03:52 2020
@@ -1,10 +1,10 @@
-/* $NetBSD: netbsd32_syscallargs.h,v 1.153 2020/05/16 18:31:48 christos Exp $ */
+/* $NetBSD: netbsd32_syscallargs.h,v 1.154 2020/10/10 00:03:52 rin Exp $ */
 
 /*
  * System call argument lists.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.137 2020/04/26 19:18:36 thorpej Exp
+ * created from	NetBSD: syscalls.master,v 1.139 2020/10/10 00:00:54 rin Exp
  */
 
 #ifndef _NETBSD32_SYS_SYSCALLARGS_H_
@@ -471,6 +471,13 @@ struct netbsd32_dup2_args {
 };
 check_syscall_args(netbsd32_dup2)
 
+struct netbsd32_getrandom_args {
+	syscallarg(netbsd32_voidp) buf;
+	syscallarg(netbsd32_size_t) buflen;
+	syscallarg(unsigned int) flags;
+};
+check_syscall_args(netbsd32_getrandom)
+
 struct netbsd32_fcntl_args {
 	syscallarg(int) fd;
 	syscallarg(int) cmd;
@@ -2928,6 +2935,8 @@ int	compat_43_sys_getdtablesize(struct l
 
 int	netbsd32_dup2(struct lwp *, const struct netbsd32_dup2_args *, register_t *);
 
+int	netbsd32_getrandom(struct lwp *, const struct netbsd32_getrandom_args *, register_t *);
+
 int	netbsd32_fcntl(struct lwp *, const struct netbsd32_fcntl_args *, register_t *);
 
 int	compat_50_netbsd32_select(struct lwp *, const struct compat_50_netbsd32_select_args *, register_t *);
Index: src/sys/compat/netbsd32/netbsd32_syscalls.c
diff -u src/sys/compat/netbsd32/netbsd32_syscalls.c:1.153 src/sys/compat/netbsd32/netbsd32_syscalls.c:1.154
--- src/sys/compat/netbsd32/netbsd32_syscalls.c:1.153	Sat May 16 18:31:48 2020
+++ src/sys/compat/netbsd32/netbsd32_syscalls.c	Sat Oct 10 00:03:53 2020
@@ -1,14 +1,14 @@
-/* $NetBSD: netbsd32_syscalls.c,v 1.153 2020/05/16 18:31:48 christos Exp $ */
+/* $NetBSD: netbsd32_syscalls.c,v 1.154 2020/10/10 00:03:53 rin Exp $ */
 
 /*
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.137 2020/04/26 19:18:36 thorpej Exp
+ * created from	NetBSD: syscalls.master,v 1.139 2020/10/10 00:00:54 rin Exp
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_syscalls.c,v 1.153 2020/05/16 18:31:48 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_syscalls.c,v 1.154 2020/10/10 00:03:53 rin Exp $");
 
 #if defined(_KERNEL_OPT)
 #if defined(_KERNEL_OPT)
@@ -121,7 +121,7 @@ const char *const netbsd32_syscallnames[
 	/*  88 */	"compat_43_netbsd32_osethostname",
 	/*  89 */	"compat_43_ogetdtablesize",
 	/*  90 */	"netbsd32_dup2",
-	/*  91 */	"#91 (unimplemented getdopt)",
+	/*  91 */	"netbsd32_getrandom",
 	/*  92 */	"netbsd32_fcntl",
 	/*  93 */	"compat_50_netbsd32_select",
 	/* 

CVS commit: src/sys/compat/netbsd32

2020-10-09 Thread Rin Okuyama
Module Name:src
Committed By:   rin
Date:   Sat Oct 10 00:00:54 UTC 2020

Modified Files:
src/sys/compat/netbsd32: netbsd32_netbsd.c syscalls.master

Log Message:
Teach about getrandom(2) to COMPAT_NETBSD32.


To generate a diff of this commit:
cvs rdiff -u -r1.229 -r1.230 src/sys/compat/netbsd32/netbsd32_netbsd.c
cvs rdiff -u -r1.138 -r1.139 src/sys/compat/netbsd32/syscalls.master

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_netbsd.c
diff -u src/sys/compat/netbsd32/netbsd32_netbsd.c:1.229 src/sys/compat/netbsd32/netbsd32_netbsd.c:1.230
--- src/sys/compat/netbsd32/netbsd32_netbsd.c:1.229	Sat May 16 18:31:48 2020
+++ src/sys/compat/netbsd32/netbsd32_netbsd.c	Sat Oct 10 00:00:54 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_netbsd.c,v 1.229 2020/05/16 18:31:48 christos Exp $	*/
+/*	$NetBSD: netbsd32_netbsd.c,v 1.230 2020/10/10 00:00:54 rin Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001, 2008, 2018 Matthew R. Green
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_netbsd.c,v 1.229 2020/05/16 18:31:48 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_netbsd.c,v 1.230 2020/10/10 00:00:54 rin Exp $");
 
 /*
  * below are all the standard NetBSD system calls, in the 32bit
@@ -2607,6 +2607,22 @@ netbsd32__pset_bind(struct lwp *l,
 	return sys__pset_bind(l, , retval);
 }
 
+int
+netbsd32_getrandom(struct lwp *l, const struct netbsd32_getrandom_args *uap,
+register_t *retval)
+{
+	/* {
+		syscallarg(netbsd32_voidp)	buf;
+		syscallarg(netbsd32_size_t)	buflen;
+		syscallarg(unsigned)		flags;
+	} */
+	struct sys_getrandom_args ua;
+
+	NETBSD32TOP_UAP(buf, void *);
+	NETBSD32TOX_UAP(buflen, size_t);
+	NETBSD32TO64_UAP(flags);
+	return sys_getrandom(l, , retval);
+}
 
 /*
  * MI indirect system call support.

Index: src/sys/compat/netbsd32/syscalls.master
diff -u src/sys/compat/netbsd32/syscalls.master:1.138 src/sys/compat/netbsd32/syscalls.master:1.139
--- src/sys/compat/netbsd32/syscalls.master:1.138	Sat May 16 18:31:48 2020
+++ src/sys/compat/netbsd32/syscalls.master	Sat Oct 10 00:00:54 2020
@@ -1,4 +1,4 @@
-	$NetBSD: syscalls.master,v 1.138 2020/05/16 18:31:48 christos Exp $
+	$NetBSD: syscalls.master,v 1.139 2020/10/10 00:00:54 rin Exp $
 
 ;	from: NetBSD: syscalls.master,v 1.81 1998/07/05 08:49:50 jonathan Exp
 ;	@(#)syscalls.master	8.2 (Berkeley) 1/13/94
@@ -235,7 +235,9 @@
 89	COMPAT_43 MODULAR compat_43	\
 			{ int|sys||getdtablesize(void); } ogetdtablesize
 90	STD		{ int|netbsd32||dup2(int from, int to); }
-91	UNIMPL		getdopt
+91	STD		{ netbsd32_ssize_t|netbsd32||getrandom( \
+			netbsd32_voidp buf, netbsd32_size_t buflen, \
+			unsigned int flags); }
 92	STD		{ int|netbsd32||fcntl(int fd, int cmd, \
 			... netbsd32_voidp arg); }
 93	COMPAT_50 MODULAR compat_netbsd32_50	\



CVS commit: src/sys/compat/netbsd32

2020-09-06 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Sep  7 03:12:51 UTC 2020

Modified Files:
src/sys/compat/netbsd32: netbsd32_ioctl.h

Log Message:
remove __packed from struct netbsd32_lsdisable.  the structure
is already properly aligned (the embedded int64 already has
align(4) marker applied where needed.)

same size structure generated.


To generate a diff of this commit:
cvs rdiff -u -r1.72 -r1.73 src/sys/compat/netbsd32/netbsd32_ioctl.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_ioctl.h
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.h:1.72 src/sys/compat/netbsd32/netbsd32_ioctl.h:1.73
--- src/sys/compat/netbsd32/netbsd32_ioctl.h:1.72	Tue Jul 21 05:33:51 2020
+++ src/sys/compat/netbsd32/netbsd32_ioctl.h	Mon Sep  7 03:12:51 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.h,v 1.72 2020/07/21 05:33:51 simonb Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.h,v 1.73 2020/09/07 03:12:51 mrg Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -645,7 +645,7 @@ struct netbsd32_lsdisable {
 	netbsd32_size_t		ld_size;	/* buffer space allocated */
 	struct netbsd32_timespec ld_time;	/* time spent enabled */
 	uint64_t		ld_freq[64];	/* counter HZ by CPU number */
-} __packed;
+};
 
 #define	IOC_LOCKSTAT_ENABLE32	_IOW('L', 1, struct netbsd32_lsenable)
 #define	IOC_LOCKSTAT_DISABLE32	_IOR('L', 2, struct netbsd32_lsdisable)



CVS commit: src/sys/compat/netbsd32

2020-07-20 Thread Simon Burge
Module Name:src
Committed By:   simonb
Date:   Tue Jul 21 05:33:51 UTC 2020

Modified Files:
src/sys/compat/netbsd32: netbsd32_ioctl.c netbsd32_ioctl.h

Log Message:
Add lockstat(1) ioctl handling.

mrg@: "looks ok."


To generate a diff of this commit:
cvs rdiff -u -r1.113 -r1.114 src/sys/compat/netbsd32/netbsd32_ioctl.c
cvs rdiff -u -r1.71 -r1.72 src/sys/compat/netbsd32/netbsd32_ioctl.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_ioctl.c
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.c:1.113 src/sys/compat/netbsd32/netbsd32_ioctl.c:1.114
--- src/sys/compat/netbsd32/netbsd32_ioctl.c:1.113	Sat Jul 18 12:46:19 2020
+++ src/sys/compat/netbsd32/netbsd32_ioctl.c	Tue Jul 21 05:33:51 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.c,v 1.113 2020/07/18 12:46:19 jmcneill Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.c,v 1.114 2020/07/21 05:33:51 simonb Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -31,7 +31,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.113 2020/07/18 12:46:19 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.114 2020/07/21 05:33:51 simonb Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ntp.h"
@@ -1043,6 +1043,54 @@ netbsd32_from_dkwedge_list(const struct 
 	s32p->dkwl_ncopied = p->dkwl_ncopied;
 }
 
+static inline void
+netbsd32_to_lsenable(struct netbsd32_lsenable *le32, struct lsenable *le,
+u_long cmd)
+{
+
+	le->le_csstart = le32->le_csstart;
+	le->le_csend = le32->le_csend;
+	le->le_lockstart = le32->le_lockstart;
+	le->le_lockend = le32->le_lockend;
+	le->le_nbufs = le32->le_nbufs;
+	le->le_flags = le32->le_flags;
+	le->le_mask = le32->le_mask;
+}
+
+static inline void
+netbsd32_from_lsenable(struct lsenable *le, struct netbsd32_lsenable *le32,
+u_long cmd)
+{
+
+	le32->le_csstart = le->le_csstart;
+	le32->le_csend = le->le_csend;
+	le32->le_lockstart = le->le_lockstart;
+	le32->le_lockend = le->le_lockend;
+	le32->le_nbufs = le->le_nbufs;
+	le32->le_flags = le->le_flags;
+	le32->le_mask = le->le_mask;
+}
+
+static inline void
+netbsd32_to_lsdisable(struct netbsd32_lsdisable *ld32, struct lsdisable *ld,
+u_long cmd)
+{
+
+	ld->ld_size = ld32->ld_size;
+	netbsd32_to_timespec(>ld_time, >ld_time);
+	memcpy(>ld_time, >ld_time, sizeof(ld->ld_time));
+}
+
+static inline void
+netbsd32_from_lsdisable(struct lsdisable *ld, struct netbsd32_lsdisable *ld32,
+u_long cmd)
+{
+
+	ld->ld_size = ld32->ld_size;
+	netbsd32_from_timespec(>ld_time, >ld_time);
+	memcpy(>ld_time, >ld_time, sizeof(ld->ld_time));
+}
+
 #ifdef NTP
 static int
 netbsd32_do_clockctl_ntp_adjtime(struct file *fp,
@@ -1540,6 +1588,11 @@ netbsd32_ioctl(struct lwp *l,
 	case DIOCLWEDGES32:
 		IOCTL_STRUCT_CONV_TO(DIOCLWEDGES, dkwedge_list);
 
+	case IOC_LOCKSTAT_ENABLE32:
+		IOCTL_STRUCT_CONV_TO(IOC_LOCKSTAT_ENABLE, lsenable);
+	case IOC_LOCKSTAT_DISABLE32:
+		IOCTL_STRUCT_CONV_TO(IOC_LOCKSTAT_DISABLE, lsdisable);
+
 	default:
 #ifdef NETBSD32_DRMKMS
 		if (IOCGROUP(com) == 'd') {

Index: src/sys/compat/netbsd32/netbsd32_ioctl.h
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.h:1.71 src/sys/compat/netbsd32/netbsd32_ioctl.h:1.72
--- src/sys/compat/netbsd32/netbsd32_ioctl.h:1.71	Sat Jul 18 12:46:19 2020
+++ src/sys/compat/netbsd32/netbsd32_ioctl.h	Tue Jul 21 05:33:51 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.h,v 1.71 2020/07/18 12:46:19 jmcneill Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.h,v 1.72 2020/07/21 05:33:51 simonb Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -35,6 +35,7 @@
 #include 
 #include 
 
+#include 
 #include 
 #include 
 #include 
@@ -629,4 +630,24 @@ struct netbsd32_disk_strategy {
 #define DIOCGSTRATEGY32		_IOR('d', 125, struct netbsd32_disk_strategy)
 #define DIOCSSTRATEGY32		_IOW('d', 126, struct netbsd32_disk_strategy)
 
+/* from  */
+struct netbsd32_lsenable {
+	netbsd32_uintptr_t	le_csstart;	/* callsite start */
+	netbsd32_uintptr_t	le_csend;	/* callsite end */
+	netbsd32_uintptr_t	le_lockstart;	/* lock address start */
+	netbsd32_uintptr_t	le_lockend;	/* lock address end */
+	netbsd32_uintptr_t	le_nbufs;	/* buffers to allocate, 0 = default */
+	u_int			le_flags;	/* request flags */
+	u_int			le_mask;	/* event mask (LB_*) */
+};
+
+struct netbsd32_lsdisable {
+	netbsd32_size_t		ld_size;	/* buffer space allocated */
+	struct netbsd32_timespec ld_time;	/* time spent enabled */
+	uint64_t		ld_freq[64];	/* counter HZ by CPU number */
+} __packed;
+
+#define	IOC_LOCKSTAT_ENABLE32	_IOW('L', 1, struct netbsd32_lsenable)
+#define	IOC_LOCKSTAT_DISABLE32	_IOR('L', 2, struct netbsd32_lsdisable)
+
 int	netbsd32_drm_ioctl(struct file *, unsigned long, void *, struct lwp *);



CVS commit: src/sys/compat/netbsd32

2020-07-18 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sat Jul 18 12:46:19 UTC 2020

Modified Files:
src/sys/compat/netbsd32: netbsd32_ioctl.c netbsd32_ioctl.h

Log Message:
Add BIOCSETWF32 (bpf)


To generate a diff of this commit:
cvs rdiff -u -r1.112 -r1.113 src/sys/compat/netbsd32/netbsd32_ioctl.c
cvs rdiff -u -r1.70 -r1.71 src/sys/compat/netbsd32/netbsd32_ioctl.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_ioctl.c
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.c:1.112 src/sys/compat/netbsd32/netbsd32_ioctl.c:1.113
--- src/sys/compat/netbsd32/netbsd32_ioctl.c:1.112	Mon Mar 16 01:37:51 2020
+++ src/sys/compat/netbsd32/netbsd32_ioctl.c	Sat Jul 18 12:46:19 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.c,v 1.112 2020/03/16 01:37:51 christos Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.c,v 1.113 2020/07/18 12:46:19 jmcneill Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -31,7 +31,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.112 2020/03/16 01:37:51 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.113 2020/07/18 12:46:19 jmcneill Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ntp.h"
@@ -1425,6 +1425,8 @@ netbsd32_ioctl(struct lwp *l,
 
 	case BIOCSETF32:
 		IOCTL_STRUCT_CONV_TO(BIOCSETF, bpf_program);
+	case BIOCSETWF32:
+		IOCTL_STRUCT_CONV_TO(BIOCSETWF, bpf_program);
 	case BIOCSTCPF32:
 		IOCTL_STRUCT_CONV_TO(BIOCSTCPF, bpf_program);
 	case BIOCSUDPF32:

Index: src/sys/compat/netbsd32/netbsd32_ioctl.h
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.h:1.70 src/sys/compat/netbsd32/netbsd32_ioctl.h:1.71
--- src/sys/compat/netbsd32/netbsd32_ioctl.h:1.70	Mon Nov 18 04:17:08 2019
+++ src/sys/compat/netbsd32/netbsd32_ioctl.h	Sat Jul 18 12:46:19 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.h,v 1.70 2019/11/18 04:17:08 rin Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.h,v 1.71 2020/07/18 12:46:19 jmcneill Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -120,6 +120,7 @@ struct netbsd32_bpf_dltlist {
 #define BIOCSUDPF32	_IOW('B',115, struct netbsd32_bpf_program)
 #define BIOCGDLTLIST32	_IOWR('B',119, struct netbsd32_bpf_dltlist)
 #define BIOCSRTIMEOUT32	_IOW('B',122, struct netbsd32_timeval)
+#define BIOCSETWF32	_IOW('B',127, struct netbsd32_bpf_program)
 
 
 struct netbsd32_wsdisplay_addscreendata {



CVS commit: src/sys/compat/netbsd32

2020-04-27 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Mon Apr 27 17:37:34 UTC 2020

Modified Files:
src/sys/compat/netbsd32: netbsd32_fs.c

Log Message:
data_len == 0 on mount means "the kernel knows". Fixes amd on compat32.


To generate a diff of this commit:
cvs rdiff -u -r1.88 -r1.89 src/sys/compat/netbsd32/netbsd32_fs.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_fs.c
diff -u src/sys/compat/netbsd32/netbsd32_fs.c:1.88 src/sys/compat/netbsd32/netbsd32_fs.c:1.89
--- src/sys/compat/netbsd32/netbsd32_fs.c:1.88	Tue Apr 21 17:42:47 2020
+++ src/sys/compat/netbsd32/netbsd32_fs.c	Mon Apr 27 13:37:34 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_fs.c,v 1.88 2020/04/21 21:42:47 ad Exp $	*/
+/*	$NetBSD: netbsd32_fs.c,v 1.89 2020/04/27 17:37:34 christos Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_fs.c,v 1.88 2020/04/21 21:42:47 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_fs.c,v 1.89 2020/04/27 17:37:34 christos Exp $");
 
 #include 
 #include 
@@ -829,7 +829,7 @@ netbsd32___mount50(struct lwp *l, const 
 		return error;
 
 	if (strcmp(mtype, MOUNT_TMPFS) == 0) {
-		if (data_len < sizeof(fs_args32.tmpfs_args))
+		if (data_len != 0 && data_len < sizeof(fs_args32.tmpfs_args))
 			return EINVAL;
 		if ((flags & MNT_GETARGS) == 0) {
 			error = copyin(data, _args32.tmpfs_args, 
@@ -853,7 +853,7 @@ netbsd32___mount50(struct lwp *l, const 
 		data = _args.tmpfs_args;
 		data_len = sizeof(fs_args.tmpfs_args);
 	} else if (strcmp(mtype, MOUNT_MFS) == 0) {
-		if (data_len < sizeof(fs_args32.mfs_args))
+		if (data_len != 0 && data_len < sizeof(fs_args32.mfs_args))
 			return EINVAL;
 		if ((flags & MNT_GETARGS) == 0) {
 			error = copyin(data, _args32.mfs_args, 
@@ -874,7 +874,7 @@ netbsd32___mount50(struct lwp *l, const 
 	} else if ((strcmp(mtype, MOUNT_UFS) == 0) ||
 		   (strcmp(mtype, MOUNT_EXT2FS) == 0) ||
 		   (strcmp(mtype, MOUNT_LFS) == 0)) {
-		if (data_len < sizeof(fs_args32.ufs_args))
+		if (data_len != 0 && data_len < sizeof(fs_args32.ufs_args))
 			return EINVAL;
 		if ((flags & MNT_GETARGS) == 0) {
 			error = copyin(data, _args32.ufs_args, 
@@ -888,7 +888,7 @@ netbsd32___mount50(struct lwp *l, const 
 		data = _args.ufs_args;
 		data_len = sizeof(fs_args.ufs_args);
 	} else if (strcmp(mtype, MOUNT_CD9660) == 0) {
-		if (data_len < sizeof(fs_args32.iso_args))
+		if (data_len != 0 && data_len < sizeof(fs_args32.iso_args))
 			return EINVAL;
 		if ((flags & MNT_GETARGS) == 0) {
 			error = copyin(data, _args32.iso_args, 
@@ -935,7 +935,7 @@ netbsd32___mount50(struct lwp *l, const 
 		data = _args.msdosfs_args;
 		data_len = sizeof(fs_args.msdosfs_args);
 	} else if (strcmp(mtype, MOUNT_NFS) == 0) {
-		if (data_len < sizeof(fs_args32.nfs_args))
+		if (data_len != 0 && data_len < sizeof(fs_args32.nfs_args))
 			return EINVAL;
 		/* XXX: NFS requires copyin even with MNT_GETARGS */
 		if ((flags & MNT_GETARGS) == 0) {
@@ -963,7 +963,7 @@ netbsd32___mount50(struct lwp *l, const 
 		data = _args.nfs_args;
 		data_len = sizeof(fs_args.nfs_args);
 	} else if (strcmp(mtype, MOUNT_NULL) == 0) {
-		if (data_len < sizeof(fs_args32.null_args))
+		if (data_len != 0 && data_len < sizeof(fs_args32.null_args))
 			return EINVAL;
 		if ((flags & MNT_GETARGS) == 0) {
 			error = copyin(data, _args32.null_args, 
@@ -988,7 +988,8 @@ netbsd32___mount50(struct lwp *l, const 
 	if (flags & MNT_GETARGS) {
 		data_len = *retval;
 		if (strcmp(mtype, MOUNT_TMPFS) == 0) {
-			if (data_len != sizeof(fs_args.tmpfs_args))
+			if (data_len != 0 &&
+			data_len != sizeof(fs_args.tmpfs_args))
 return EINVAL;
 			fs_args32.tmpfs_args.ta_version =
 			fs_args.tmpfs_args.ta_version;
@@ -1006,7 +1007,8 @@ netbsd32___mount50(struct lwp *l, const 
 sizeof(fs_args32.tmpfs_args));
 			*retval = sizeof(fs_args32.tmpfs_args);
 		} else if (strcmp(mtype, MOUNT_MFS) == 0) {
-			if (data_len != sizeof(fs_args.mfs_args))
+			if (data_len != 0 &&
+			data_len != sizeof(fs_args.mfs_args))
 return EINVAL;
 			NETBSD32PTR32(fs_args32.mfs_args.fspec,
 			fs_args.mfs_args.fspec);
@@ -1019,7 +1021,8 @@ netbsd32___mount50(struct lwp *l, const 
 sizeof(fs_args32.mfs_args));
 			*retval = sizeof(fs_args32.mfs_args);
 		} else if (strcmp(mtype, MOUNT_UFS) == 0) {
-			if (data_len != sizeof(fs_args.ufs_args))
+			if (data_len != 0 &&
+			data_len != sizeof(fs_args.ufs_args))
 return EINVAL;
 			NETBSD32PTR32(fs_args32.ufs_args.fspec,
 			fs_args.ufs_args.fspec);
@@ -1027,7 +1030,8 @@ netbsd32___mount50(struct lwp *l, const 
 			sizeof(fs_args32.ufs_args));
 			*retval = sizeof(fs_args32.ufs_args);
 		} else if (strcmp(mtype, MOUNT_CD9660) == 0) {
-			if (data_len != sizeof(fs_args.iso_args))
+			if (data_len != 0 &&
+			data_len != sizeof(fs_args.iso_args))
 return EINVAL;
 

CVS commit: src/sys/compat/netbsd32

2020-04-26 Thread Jason R Thorpe
Module Name:src
Committed By:   thorpej
Date:   Sun Apr 26 19:18:52 UTC 2020

Modified Files:
src/sys/compat/netbsd32: netbsd32_syscall.h netbsd32_syscallargs.h
netbsd32_syscalls.c netbsd32_syscalls_autoload.c netbsd32_sysent.c
netbsd32_systrace_args.c

Log Message:
Regen for native futex calls.


To generate a diff of this commit:
cvs rdiff -u -r1.152 -r1.153 src/sys/compat/netbsd32/netbsd32_syscall.h
cvs rdiff -u -r1.151 -r1.152 src/sys/compat/netbsd32/netbsd32_syscallargs.h \
src/sys/compat/netbsd32/netbsd32_syscalls.c
cvs rdiff -u -r1.31 -r1.32 \
src/sys/compat/netbsd32/netbsd32_syscalls_autoload.c
cvs rdiff -u -r1.150 -r1.151 src/sys/compat/netbsd32/netbsd32_sysent.c
cvs rdiff -u -r1.42 -r1.43 src/sys/compat/netbsd32/netbsd32_systrace_args.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_syscall.h
diff -u src/sys/compat/netbsd32/netbsd32_syscall.h:1.152 src/sys/compat/netbsd32/netbsd32_syscall.h:1.153
--- src/sys/compat/netbsd32/netbsd32_syscall.h:1.152	Wed Apr 22 21:25:17 2020
+++ src/sys/compat/netbsd32/netbsd32_syscall.h	Sun Apr 26 19:18:52 2020
@@ -1,10 +1,10 @@
-/* $NetBSD: netbsd32_syscall.h,v 1.152 2020/04/22 21:25:17 thorpej Exp $ */
+/* $NetBSD: netbsd32_syscall.h,v 1.153 2020/04/26 19:18:52 thorpej Exp $ */
 
 /*
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.135 2020/04/22 21:22:21 thorpej Exp
+ * created from	NetBSD: syscalls.master,v 1.137 2020/04/26 19:18:36 thorpej Exp
  */
 
 #ifndef _NETBSD32_SYS_SYSCALL_H_
@@ -462,6 +462,15 @@
 /* syscall: "netbsd32_sysarch" ret: "int" args: "int" "netbsd32_voidp" */
 #define	NETBSD32_SYS_netbsd32_sysarch	165
 
+/* syscall: "netbsd32___futex" ret: "int" args: "netbsd32_intp" "int" "int" "const netbsd32_timespecp_t" "netbsd32_intp" "int" "int" */
+#define	NETBSD32_SYS_netbsd32___futex	166
+
+/* syscall: "netbsd32___futex_set_robust_list" ret: "int" args: "netbsd32_voidp" "netbsd32_size_t" */
+#define	NETBSD32_SYS_netbsd32___futex_set_robust_list	167
+
+/* syscall: "netbsd32___futex_get_robust_list" ret: "int" args: "lwpid_t" "netbsd32_voidp" "netbsd32_size_tp" */
+#define	NETBSD32_SYS_netbsd32___futex_get_robust_list	168
+
 /* syscall: "compat_10_osemsys" ret: "int" args: "int" "int" "int" "int" "int" */
 #define	NETBSD32_SYS_compat_10_osemsys	169
 

Index: src/sys/compat/netbsd32/netbsd32_syscallargs.h
diff -u src/sys/compat/netbsd32/netbsd32_syscallargs.h:1.151 src/sys/compat/netbsd32/netbsd32_syscallargs.h:1.152
--- src/sys/compat/netbsd32/netbsd32_syscallargs.h:1.151	Wed Apr 22 21:25:17 2020
+++ src/sys/compat/netbsd32/netbsd32_syscallargs.h	Sun Apr 26 19:18:52 2020
@@ -1,10 +1,10 @@
-/* $NetBSD: netbsd32_syscallargs.h,v 1.151 2020/04/22 21:25:17 thorpej Exp $ */
+/* $NetBSD: netbsd32_syscallargs.h,v 1.152 2020/04/26 19:18:52 thorpej Exp $ */
 
 /*
  * System call argument lists.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.135 2020/04/22 21:22:21 thorpej Exp
+ * created from	NetBSD: syscalls.master,v 1.137 2020/04/26 19:18:36 thorpej Exp
  */
 
 #ifndef _NETBSD32_SYS_SYSCALLARGS_H_
@@ -864,6 +864,30 @@ struct netbsd32_sysarch_args {
 };
 check_syscall_args(netbsd32_sysarch)
 
+struct netbsd32___futex_args {
+	syscallarg(netbsd32_intp) uaddr;
+	syscallarg(int) op;
+	syscallarg(int) val;
+	syscallarg(const netbsd32_timespecp_t) timeout;
+	syscallarg(netbsd32_intp) uaddr2;
+	syscallarg(int) val2;
+	syscallarg(int) val3;
+};
+check_syscall_args(netbsd32___futex)
+
+struct netbsd32___futex_set_robust_list_args {
+	syscallarg(netbsd32_voidp) head;
+	syscallarg(netbsd32_size_t) len;
+};
+check_syscall_args(netbsd32___futex_set_robust_list)
+
+struct netbsd32___futex_get_robust_list_args {
+	syscallarg(lwpid_t) lwpid;
+	syscallarg(netbsd32_voidp) headp;
+	syscallarg(netbsd32_size_tp) lenp;
+};
+check_syscall_args(netbsd32___futex_get_robust_list)
+
 struct compat_10_netbsd32_semsys_args {
 	syscallarg(int) which;
 	syscallarg(int) a2;
@@ -2941,6 +2965,12 @@ int	compat_09_netbsd32_uname(struct lwp 
 
 int	netbsd32_sysarch(struct lwp *, const struct netbsd32_sysarch_args *, register_t *);
 
+int	netbsd32___futex(struct lwp *, const struct netbsd32___futex_args *, register_t *);
+
+int	netbsd32___futex_set_robust_list(struct lwp *, const struct netbsd32___futex_set_robust_list_args *, register_t *);
+
+int	netbsd32___futex_get_robust_list(struct lwp *, const struct netbsd32___futex_get_robust_list_args *, register_t *);
+
 int	compat_10_netbsd32_semsys(struct lwp *, const struct compat_10_netbsd32_semsys_args *, register_t *);
 
 int	compat_10_netbsd32_msgsys(struct lwp *, const struct compat_10_netbsd32_msgsys_args *, register_t *);
Index: src/sys/compat/netbsd32/netbsd32_syscalls.c
diff -u src/sys/compat/netbsd32/netbsd32_syscalls.c:1.151 

CVS commit: src/sys/compat/netbsd32

2020-04-26 Thread Jason R Thorpe
Module Name:src
Committed By:   thorpej
Date:   Sun Apr 26 19:18:36 UTC 2020

Modified Files:
src/sys/compat/netbsd32: syscalls.master

Log Message:
Mirror the change made to native -- move futex calls to 166-168.


To generate a diff of this commit:
cvs rdiff -u -r1.136 -r1.137 src/sys/compat/netbsd32/syscalls.master

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/syscalls.master
diff -u src/sys/compat/netbsd32/syscalls.master:1.136 src/sys/compat/netbsd32/syscalls.master:1.137
--- src/sys/compat/netbsd32/syscalls.master:1.136	Sun Apr 26 18:53:33 2020
+++ src/sys/compat/netbsd32/syscalls.master	Sun Apr 26 19:18:36 2020
@@ -1,4 +1,4 @@
-	$NetBSD: syscalls.master,v 1.136 2020/04/26 18:53:33 thorpej Exp $
+	$NetBSD: syscalls.master,v 1.137 2020/04/26 19:18:36 thorpej Exp $
 
 ;	from: NetBSD: syscalls.master,v 1.81 1998/07/05 08:49:50 jonathan Exp
 ;	@(#)syscalls.master	8.2 (Berkeley) 1/13/94
@@ -398,9 +398,13 @@
 164	COMPAT_09 MODULAR compat_netbsd32_09	\
 			{ int|netbsd32||uname(netbsd32_outsnamep_t name); }
 165	STD		{ int|netbsd32||sysarch(int op, netbsd32_voidp parms); }
-166	UNIMPL
-167	UNIMPL
-168	UNIMPL
+166	STD		{ int|netbsd32||__futex(netbsd32_intp uaddr, int op, \
+			int val, const netbsd32_timespecp_t timeout, \
+			netbsd32_intp uaddr2, int val2, int val3); }
+167	STD		{ int|netbsd32||__futex_set_robust_list( \
+			netbsd32_voidp head, netbsd32_size_t len); }
+168	STD		{ int|netbsd32||__futex_get_robust_list(lwpid_t lwpid, \
+			netbsd32_voidp headp, netbsd32_size_tp lenp); }
 169	COMPAT_10 MODULAR compat_netbsd32_sysvipc_10	\
 			{ int|netbsd32||semsys(int which, int a2, int a3, \
 			int a4, int a5); } osemsys
@@ -1168,10 +1172,3 @@
 486	STD 		{ int|netbsd32|90|fhstatvfs1(netbsd32_voidp fhp, \
 			netbsd32_size_t fh_size, netbsd32_statvfsp_t buf, \
 			int flags); }
-487	STD		{ int|netbsd32||__futex(netbsd32_intp uaddr, int op, \
-			int val, const netbsd32_timespecp_t timeout, \
-			netbsd32_intp uaddr2, int val2, int val3); }
-488	STD		{ int|netbsd32||__futex_set_robust_list( \
-			netbsd32_voidp head, netbsd32_size_t len); }
-489	STD		{ int|netbsd32||__futex_get_robust_list(lwpid_t lwpid, \
-			netbsd32_voidp headp, netbsd32_size_tp lenp); }



CVS commit: src/sys/compat/netbsd32

2020-03-21 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sat Mar 21 16:17:08 UTC 2020

Modified Files:
src/sys/compat/netbsd32: netbsd32_mod.c netbsd32_sysctl.c
Added Files:
src/sys/compat/netbsd32: netbsd32_sysctl.h

Log Message:
Restore code to sysctl_free() the compat32 shadow tree


To generate a diff of this commit:
cvs rdiff -u -r1.21 -r1.22 src/sys/compat/netbsd32/netbsd32_mod.c
cvs rdiff -u -r1.43 -r1.44 src/sys/compat/netbsd32/netbsd32_sysctl.c
cvs rdiff -u -r0 -r1.3 src/sys/compat/netbsd32/netbsd32_sysctl.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_mod.c
diff -u src/sys/compat/netbsd32/netbsd32_mod.c:1.21 src/sys/compat/netbsd32/netbsd32_mod.c:1.22
--- src/sys/compat/netbsd32/netbsd32_mod.c:1.21	Sun Mar 15 14:15:12 2020
+++ src/sys/compat/netbsd32/netbsd32_mod.c	Sat Mar 21 16:17:08 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_mod.c,v 1.21 2020/03/15 14:15:12 pgoyette Exp $	*/
+/*	$NetBSD: netbsd32_mod.c,v 1.22 2020/03/21 16:17:08 pgoyette Exp $	*/
 
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -59,7 +59,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_mod.c,v 1.21 2020/03/15 14:15:12 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_mod.c,v 1.22 2020/03/21 16:17:08 pgoyette Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_execfmt.h"
@@ -76,6 +76,7 @@ __KERNEL_RCSID(0, "$NetBSD: netbsd32_mod
 #include 
 #include 
 
+#include 
 #include 
 #include 
 
@@ -180,6 +181,7 @@ compat_netbsd32_modcmd(modcmd_t cmd, voi
 		MODULE_HOOK_UNSET(amd64_oosyscall_hook);
 #endif /* defined(__amd64__) */
 		netbsd32_machdep_md_fini();
+		netbsd32_sysctl_fini();
 		netbsd32_kern_proc_32_fini();
 
 		error = exec_remove(netbsd32_execsw,

Index: src/sys/compat/netbsd32/netbsd32_sysctl.c
diff -u src/sys/compat/netbsd32/netbsd32_sysctl.c:1.43 src/sys/compat/netbsd32/netbsd32_sysctl.c:1.44
--- src/sys/compat/netbsd32/netbsd32_sysctl.c:1.43	Tue Mar 17 17:16:26 2020
+++ src/sys/compat/netbsd32/netbsd32_sysctl.c	Sat Mar 21 16:17:08 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_sysctl.c,v 1.43 2020/03/17 17:16:26 pgoyette Exp $	*/
+/*	$NetBSD: netbsd32_sysctl.c,v 1.44 2020/03/21 16:17:08 pgoyette Exp $	*/
 
 /*
  * Copyright (c) 2003 The NetBSD Foundation, Inc.
@@ -32,7 +32,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_sysctl.c,v 1.43 2020/03/17 17:16:26 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_sysctl.c,v 1.44 2020/03/21 16:17:08 pgoyette Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ddb.h"
@@ -57,6 +57,7 @@ __KERNEL_RCSID(0, "$NetBSD: netbsd32_sys
 #include 
 #include 
 #include 
+#include 
 
 #if defined(DDB)
 #include 
@@ -180,6 +181,13 @@ SYSCTL_SETUP(netbsd32_sysctl_emul_setup,
 		   CTL_HW, HW_MACHINE_ARCH, CTL_EOL);
 }
 
+void
+netbsd32_sysctl_fini(void)
+{
+
+	sysctl_free(_sysctl_root);
+}
+
 int
 netbsd32___sysctl(struct lwp *l, const struct netbsd32___sysctl_args *uap, register_t *retval)
 {

Added files:

Index: src/sys/compat/netbsd32/netbsd32_sysctl.h
diff -u /dev/null src/sys/compat/netbsd32/netbsd32_sysctl.h:1.3
--- /dev/null	Sat Mar 21 16:17:08 2020
+++ src/sys/compat/netbsd32/netbsd32_sysctl.h	Sat Mar 21 16:17:08 2020
@@ -0,0 +1,37 @@
+/*	$NetBSD: netbsd32_sysctl.h,v 1.3 2020/03/21 16:17:08 pgoyette Exp $ */
+
+/*-
+ * Copyright (c) 2008 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software developed for The NetBSD Foundation
+ * by Andrew Doran.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *notice, this list of conditions and the following disclaimer in the
+ *documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef _NETBSD32_SYSCTL_H
+#define _NETBSD32_SYSCTL_H
+
+void	netbsd32_sysctl_fini(void);
+
+#endif /* 

CVS commit: src/sys/compat/netbsd32

2020-03-17 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Tue Mar 17 17:16:26 UTC 2020

Modified Files:
src/sys/compat/netbsd32: netbsd32_sysctl.c

Log Message:
Remove a debug printf() that accidentally got committed.  :(


To generate a diff of this commit:
cvs rdiff -u -r1.42 -r1.43 src/sys/compat/netbsd32/netbsd32_sysctl.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_sysctl.c
diff -u src/sys/compat/netbsd32/netbsd32_sysctl.c:1.42 src/sys/compat/netbsd32/netbsd32_sysctl.c:1.43
--- src/sys/compat/netbsd32/netbsd32_sysctl.c:1.42	Sun Mar 15 14:15:12 2020
+++ src/sys/compat/netbsd32/netbsd32_sysctl.c	Tue Mar 17 17:16:26 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_sysctl.c,v 1.42 2020/03/15 14:15:12 pgoyette Exp $	*/
+/*	$NetBSD: netbsd32_sysctl.c,v 1.43 2020/03/17 17:16:26 pgoyette Exp $	*/
 
 /*
  * Copyright (c) 2003 The NetBSD Foundation, Inc.
@@ -32,7 +32,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_sysctl.c,v 1.42 2020/03/15 14:15:12 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_sysctl.c,v 1.43 2020/03/17 17:16:26 pgoyette Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ddb.h"
@@ -122,7 +122,6 @@ SYSCTL_SETUP(netbsd32_sysctl_emul_setup,
 	const struct sysctlnode *_root = _sysctl_root;
 	extern const char machine32[];
 
-	printf("%s: called\n", __func__); /* XXX PRG */
 	sysctl_createv(clog, 0, &_root, NULL,
 		   CTLFLAG_PERMANENT,
 		   CTLTYPE_NODE, "kern", NULL,



CVS commit: src/sys/compat/netbsd32

2020-03-15 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Mon Mar 16 01:37:51 UTC 2020

Modified Files:
src/sys/compat/netbsd32: netbsd32_ioctl.c

Log Message:
Unfortunately all the clockctl ioctls contain pointers to structs instead
of the structs themselves, so they need special handling. Undo previous
and do the permissions checks explicitly. It would be better to fix the
clockctl ioctls to contain the structs themselves...


To generate a diff of this commit:
cvs rdiff -u -r1.111 -r1.112 src/sys/compat/netbsd32/netbsd32_ioctl.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_ioctl.c
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.c:1.111 src/sys/compat/netbsd32/netbsd32_ioctl.c:1.112
--- src/sys/compat/netbsd32/netbsd32_ioctl.c:1.111	Sun Mar 15 20:05:29 2020
+++ src/sys/compat/netbsd32/netbsd32_ioctl.c	Sun Mar 15 21:37:51 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.c,v 1.111 2020/03/16 00:05:29 christos Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.c,v 1.112 2020/03/16 01:37:51 christos Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -31,7 +31,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.111 2020/03/16 00:05:29 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.112 2020/03/16 01:37:51 christos Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ntp.h"
@@ -64,6 +64,10 @@ __KERNEL_RCSID(0, "$NetBSD: netbsd32_ioc
 #include 
 #include 
 
+#include 
+#include 
+#include 
+
 #ifdef __sparc__
 #include 
 #include 
@@ -498,6 +502,7 @@ netbsd32_to_clockctl_clock_settime(
 	p->tp = NETBSD32PTR64(s32p->tp);
 }
 
+#ifdef NTP
 static inline void
 netbsd32_to_clockctl_ntp_adjtime(
 const struct netbsd32_clockctl_ntp_adjtime *s32p,
@@ -507,6 +512,7 @@ netbsd32_to_clockctl_ntp_adjtime(
 	p->tp = NETBSD32PTR64(s32p->tp);
 	p->retval = s32p->retval;
 }
+#endif
 
 static inline void
 netbsd32_to_ksyms_gsymbol(const struct netbsd32_ksyms_gsymbol *s32p,
@@ -945,6 +951,7 @@ netbsd32_from_clockctl_clock_settime(con
 	NETBSD32PTR32(s32p->tp, p->tp);
 }
 
+#ifdef NTP
 static inline void
 netbsd32_from_clockctl_ntp_adjtime(const struct clockctl_ntp_adjtime *p,
 struct netbsd32_clockctl_ntp_adjtime *s32p, u_long cmd)
@@ -953,6 +960,7 @@ netbsd32_from_clockctl_ntp_adjtime(const
 	NETBSD32PTR32(s32p->tp, p->tp);
 	s32p->retval = p->retval;
 }
+#endif
 
 static inline void
 netbsd32_from_ksyms_gsymbol( const struct ksyms_gsymbol *p,
@@ -1035,6 +1043,51 @@ netbsd32_from_dkwedge_list(const struct 
 	s32p->dkwl_ncopied = p->dkwl_ncopied;
 }
 
+#ifdef NTP
+static int
+netbsd32_do_clockctl_ntp_adjtime(struct file *fp,
+struct clockctl_ntp_adjtime *args)
+{
+	struct vnode *vp;
+	struct specnode *sn;
+	const char *name;
+
+	struct netbsd32_timex ntv32;
+	struct timex ntv;
+	int error;
+
+	/* Verify that the file descriptor is is to the clockctl device */
+	if (fp->f_type != DTYPE_VNODE)
+		return EINVAL;
+
+	vp = fp->f_vnode;
+	if (vp->v_type != VCHR)
+		return EINVAL;
+
+	sn = vp->v_specnode;
+	name = cdevsw_getname(major(sn->sn_rdev));
+	if (name == NULL || strcmp(name, "clockctl") != 0)
+		return EINVAL;
+
+	if (vec_ntp_adjtime1 == NULL)
+		return EINVAL;
+
+	error = copyin(args->tp, , sizeof(ntv32));
+	if (error)
+		return error;
+
+	netbsd32_to_timex(, );
+	(*vec_ntp_adjtime1)();
+	netbsd32_from_timex(, );
+
+	error = copyout(, args->tp, sizeof(ntv32));
+	if (error == 0)
+		args->retval = ntp_timestatus();
+
+	return error;
+}
+#endif
+
 /*
  * main ioctl syscall.
  *
@@ -1425,8 +1478,32 @@ netbsd32_ioctl(struct lwp *l,
 		IOCTL_STRUCT_CONV_TO(CLOCKCTL_CLOCK_SETTIME,
 		clockctl_clock_settime);
 	case CLOCKCTL_NTP_ADJTIME32:
-		IOCTL_STRUCT_CONV_TO(CLOCKCTL_NTP_ADJTIME,
-		clockctl_ntp_adjtime);
+#ifdef NTP
+		{
+			size = IOCPARM_LEN(CLOCKCTL_NTP_ADJTIME);
+			if (size > sizeof(stkbuf))
+data = memp = kmem_alloc(size, KM_SLEEP);
+			else
+data = (void *)stkbuf;
+
+			netbsd32_to_clockctl_ntp_adjtime(
+(const struct netbsd32_clockctl_ntp_adjtime *)data32,
+(struct clockctl_ntp_adjtime *)data,
+CLOCKCTL_NTP_ADJTIME);
+			error = netbsd32_do_clockctl_ntp_adjtime(fp,
+(struct clockctl_ntp_adjtime *)data);
+			netbsd32_from_clockctl_ntp_adjtime(
+(const struct clockctl_ntp_adjtime *)data,
+(struct netbsd32_clockctl_ntp_adjtime *)data32,
+CLOCKCTL_NTP_ADJTIME);
+
+			break;
+		}
+#else
+		error = ENOTTY;
+		break;
+#endif /* NTP */
+
 	case KIOCGSYMBOL32:
 		IOCTL_STRUCT_CONV_TO(KIOCGSYMBOL, ksyms_gsymbol);
 	case KIOCGVALUE32:



CVS commit: src/sys/compat/netbsd32

2020-03-15 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Mon Mar 16 00:05:29 UTC 2020

Modified Files:
src/sys/compat/netbsd32: netbsd32_ioctl.c

Log Message:
Don't open-code ioctls, pass back to the 64 bit ones (found by maxv@),


To generate a diff of this commit:
cvs rdiff -u -r1.110 -r1.111 src/sys/compat/netbsd32/netbsd32_ioctl.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_ioctl.c
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.c:1.110 src/sys/compat/netbsd32/netbsd32_ioctl.c:1.111
--- src/sys/compat/netbsd32/netbsd32_ioctl.c:1.110	Sat Mar 14 00:39:15 2020
+++ src/sys/compat/netbsd32/netbsd32_ioctl.c	Sun Mar 15 20:05:29 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.c,v 1.110 2020/03/14 04:39:15 maxv Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.c,v 1.111 2020/03/16 00:05:29 christos Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -31,7 +31,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.110 2020/03/14 04:39:15 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.111 2020/03/16 00:05:29 christos Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ntp.h"
@@ -498,7 +498,6 @@ netbsd32_to_clockctl_clock_settime(
 	p->tp = NETBSD32PTR64(s32p->tp);
 }
 
-#ifdef NTP
 static inline void
 netbsd32_to_clockctl_ntp_adjtime(
 const struct netbsd32_clockctl_ntp_adjtime *s32p,
@@ -508,7 +507,6 @@ netbsd32_to_clockctl_ntp_adjtime(
 	p->tp = NETBSD32PTR64(s32p->tp);
 	p->retval = s32p->retval;
 }
-#endif
 
 static inline void
 netbsd32_to_ksyms_gsymbol(const struct netbsd32_ksyms_gsymbol *s32p,
@@ -947,7 +945,6 @@ netbsd32_from_clockctl_clock_settime(con
 	NETBSD32PTR32(s32p->tp, p->tp);
 }
 
-#ifdef NTP
 static inline void
 netbsd32_from_clockctl_ntp_adjtime(const struct clockctl_ntp_adjtime *p,
 struct netbsd32_clockctl_ntp_adjtime *s32p, u_long cmd)
@@ -956,7 +953,6 @@ netbsd32_from_clockctl_ntp_adjtime(const
 	NETBSD32PTR32(s32p->tp, p->tp);
 	s32p->retval = p->retval;
 }
-#endif
 
 static inline void
 netbsd32_from_ksyms_gsymbol( const struct ksyms_gsymbol *p,
@@ -1039,34 +1035,6 @@ netbsd32_from_dkwedge_list(const struct 
 	s32p->dkwl_ncopied = p->dkwl_ncopied;
 }
 
-#ifdef NTP
-static int
-netbsd32_do_clockctl_ntp_adjtime(struct clockctl_ntp_adjtime *args)
-{
-
-	struct netbsd32_timex ntv32;
-	struct timex ntv;
-	int error;
-
-	if (vec_ntp_adjtime1 == NULL)
-		return EINVAL;
-
-	error = copyin(args->tp, , sizeof(ntv32));
-	if (error)
-		return error;
-
-	netbsd32_to_timex(, );
-	(*vec_ntp_adjtime1)();
-	netbsd32_from_timex(, );
-
-	error = copyout(, args->tp, sizeof(ntv32));
-	if (error == 0)
-		args->retval = ntp_timestatus();
-
-	return error;
-}
-#endif
-
 /*
  * main ioctl syscall.
  *
@@ -1457,32 +1425,8 @@ netbsd32_ioctl(struct lwp *l,
 		IOCTL_STRUCT_CONV_TO(CLOCKCTL_CLOCK_SETTIME,
 		clockctl_clock_settime);
 	case CLOCKCTL_NTP_ADJTIME32:
-#ifdef NTP
-		{
-			size = IOCPARM_LEN(CLOCKCTL_NTP_ADJTIME);
-			if (size > sizeof(stkbuf))
-data = memp = kmem_alloc(size, KM_SLEEP);
-			else
-data = (void *)stkbuf;
-
-			netbsd32_to_clockctl_ntp_adjtime(
-(const struct netbsd32_clockctl_ntp_adjtime *)data32,
-(struct clockctl_ntp_adjtime *)data,
-CLOCKCTL_NTP_ADJTIME);
-			error = netbsd32_do_clockctl_ntp_adjtime(
-(struct clockctl_ntp_adjtime *)data);
-			netbsd32_from_clockctl_ntp_adjtime(
-(const struct clockctl_ntp_adjtime *)data,
-(struct netbsd32_clockctl_ntp_adjtime *)data32,
-CLOCKCTL_NTP_ADJTIME);
-
-			break;
-		}
-#else
-		error = ENOTTY;
-		break;
-#endif /* NTP */
-
+		IOCTL_STRUCT_CONV_TO(CLOCKCTL_NTP_ADJTIME,
+		clockctl_ntp_adjtime);
 	case KIOCGSYMBOL32:
 		IOCTL_STRUCT_CONV_TO(KIOCGSYMBOL, ksyms_gsymbol);
 	case KIOCGVALUE32:



CVS commit: src/sys/compat/netbsd32

2020-03-15 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sun Mar 15 14:15:12 UTC 2020

Modified Files:
src/sys/compat/netbsd32: netbsd32_mod.c netbsd32_sysctl.c
Removed Files:
src/sys/compat/netbsd32: netbsd32_sysctl.h

Log Message:
Use SYSCTL_SETUP mechanism to establish our sysctl tree, rather than
using explicit calls to netbsd32_sysctl_{init,fini}()


To generate a diff of this commit:
cvs rdiff -u -r1.20 -r1.21 src/sys/compat/netbsd32/netbsd32_mod.c
cvs rdiff -u -r1.41 -r1.42 src/sys/compat/netbsd32/netbsd32_sysctl.c
cvs rdiff -u -r1.1 -r0 src/sys/compat/netbsd32/netbsd32_sysctl.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_mod.c
diff -u src/sys/compat/netbsd32/netbsd32_mod.c:1.20 src/sys/compat/netbsd32/netbsd32_mod.c:1.21
--- src/sys/compat/netbsd32/netbsd32_mod.c:1.20	Mon Mar  9 21:49:26 2020
+++ src/sys/compat/netbsd32/netbsd32_mod.c	Sun Mar 15 14:15:12 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_mod.c,v 1.20 2020/03/09 21:49:26 pgoyette Exp $	*/
+/*	$NetBSD: netbsd32_mod.c,v 1.21 2020/03/15 14:15:12 pgoyette Exp $	*/
 
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -59,7 +59,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_mod.c,v 1.20 2020/03/09 21:49:26 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_mod.c,v 1.21 2020/03/15 14:15:12 pgoyette Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_execfmt.h"
@@ -76,7 +76,6 @@ __KERNEL_RCSID(0, "$NetBSD: netbsd32_mod
 #include 
 #include 
 
-#include 
 #include 
 #include 
 
@@ -167,7 +166,6 @@ compat_netbsd32_modcmd(modcmd_t cmd, voi
 		error = exec_add(netbsd32_execsw,
 		__arraycount(netbsd32_execsw));
 		if (error == 0) {
-			netbsd32_sysctl_init();
 			netbsd32_machdep_md_init();
 			netbsd32_kern_proc_32_init();
 #if defined(__amd64__)
@@ -182,14 +180,12 @@ compat_netbsd32_modcmd(modcmd_t cmd, voi
 		MODULE_HOOK_UNSET(amd64_oosyscall_hook);
 #endif /* defined(__amd64__) */
 		netbsd32_machdep_md_fini();
-		netbsd32_sysctl_fini();
 		netbsd32_kern_proc_32_fini();
 
 		error = exec_remove(netbsd32_execsw,
 		__arraycount(netbsd32_execsw));
 		if (error) {
 			netbsd32_kern_proc_32_init();
-			netbsd32_sysctl_init();
 			netbsd32_machdep_md_init();
 #if defined(__amd64__)
 			MODULE_HOOK_SET(amd64_oosyscall_hook,

Index: src/sys/compat/netbsd32/netbsd32_sysctl.c
diff -u src/sys/compat/netbsd32/netbsd32_sysctl.c:1.41 src/sys/compat/netbsd32/netbsd32_sysctl.c:1.42
--- src/sys/compat/netbsd32/netbsd32_sysctl.c:1.41	Thu Jan  2 15:42:26 2020
+++ src/sys/compat/netbsd32/netbsd32_sysctl.c	Sun Mar 15 14:15:12 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_sysctl.c,v 1.41 2020/01/02 15:42:26 thorpej Exp $	*/
+/*	$NetBSD: netbsd32_sysctl.c,v 1.42 2020/03/15 14:15:12 pgoyette Exp $	*/
 
 /*
  * Copyright (c) 2003 The NetBSD Foundation, Inc.
@@ -32,7 +32,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_sysctl.c,v 1.41 2020/01/02 15:42:26 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_sysctl.c,v 1.42 2020/03/15 14:15:12 pgoyette Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ddb.h"
@@ -57,7 +57,6 @@ __KERNEL_RCSID(0, "$NetBSD: netbsd32_sys
 #include 
 #include 
 #include 
-#include 
 
 #if defined(DDB)
 #include 
@@ -70,8 +69,6 @@ struct sysctlnode netbsd32_sysctl_root =
 	.sysctl_size = sizeof(struct sysctlnode),
 };
 
-static struct sysctllog *netbsd32_clog;
-
 /*
  * sysctl helper routine for netbsd32's kern.boottime node
  */
@@ -120,78 +117,70 @@ sysctl_hw_machine_arch32(SYSCTLFN_ARGS)
 	return sysctl_lookup(SYSCTLFN_CALL());
 }
 
-void
-netbsd32_sysctl_init(void)
+SYSCTL_SETUP(netbsd32_sysctl_emul_setup, "netbsd32 shadow tree")
 {
 	const struct sysctlnode *_root = _sysctl_root;
 	extern const char machine32[];
 
-	sysctl_createv(_clog, 0, &_root, NULL,
+	printf("%s: called\n", __func__); /* XXX PRG */
+	sysctl_createv(clog, 0, &_root, NULL,
 		   CTLFLAG_PERMANENT,
 		   CTLTYPE_NODE, "kern", NULL,
 		   NULL, 0, NULL, 0,
 		   CTL_KERN, CTL_EOL);
-	sysctl_createv(_clog, 0, &_root, NULL,
+	sysctl_createv(clog, 0, &_root, NULL,
 		   CTLFLAG_PERMANENT,
 		   CTLTYPE_STRUCT, "boottime", NULL,
 		   netbsd32_sysctl_kern_boottime, 0, NULL,
 		   sizeof(struct netbsd32_timeval),
 		   CTL_KERN, KERN_BOOTTIME, CTL_EOL);
 
-	sysctl_createv(_clog, 0, &_root, NULL,
+	sysctl_createv(clog, 0, &_root, NULL,
 		   CTLFLAG_PERMANENT,
 		   CTLTYPE_NODE, "vm", NULL,
 		   NULL, 0, NULL, 0,
 		   CTL_VM, CTL_EOL);
-	sysctl_createv(_clog, 0, &_root, NULL,
+	sysctl_createv(clog, 0, &_root, NULL,
 		   CTLFLAG_PERMANENT,
 		   CTLTYPE_STRUCT, "loadavg", NULL,
 		   netbsd32_sysctl_vm_loadavg, 0, NULL,
 		   sizeof(struct netbsd32_loadavg),
 		   CTL_VM, VM_LOADAVG, CTL_EOL);
-	sysctl_createv(_clog, 0, &_root, NULL,
+	sysctl_createv(clog, 0, &_root, NULL,
 		   CTLFLAG_PERMANENT|CTLFLAG_IMMEDIATE,
 		 

CVS commit: src/sys/compat/netbsd32

2020-03-15 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sun Mar 15 12:46:02 UTC 2020

Modified Files:
src/sys/compat/netbsd32: netbsd32_compat_50.c

Log Message:
Now that we have split the quota code out of the compat_netbsd32_50
module, it no longer depends on compat_50_quota.

Should address PR kern/55073


To generate a diff of this commit:
cvs rdiff -u -r1.47 -r1.48 src/sys/compat/netbsd32/netbsd32_compat_50.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_compat_50.c
diff -u src/sys/compat/netbsd32/netbsd32_compat_50.c:1.47 src/sys/compat/netbsd32/netbsd32_compat_50.c:1.48
--- src/sys/compat/netbsd32/netbsd32_compat_50.c:1.47	Thu Mar 12 15:02:29 2020
+++ src/sys/compat/netbsd32/netbsd32_compat_50.c	Sun Mar 15 12:46:02 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_compat_50.c,v 1.47 2020/03/12 15:02:29 pgoyette Exp $	*/
+/*	$NetBSD: netbsd32_compat_50.c,v 1.48 2020/03/15 12:46:02 pgoyette Exp $	*/
 
 /*-
  * Copyright (c) 2008, 2020 The NetBSD Foundation, Inc.
@@ -29,7 +29,7 @@
  * POSSIBILITY OF SUCH DAMAGE.
  */
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_50.c,v 1.47 2020/03/12 15:02:29 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_50.c,v 1.48 2020/03/15 12:46:02 pgoyette Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_compat_netbsd.h"
@@ -1013,9 +1013,7 @@ static struct syscall_package compat_net
 	{ 0, 0, NULL }
 }; 
 
-MODULE(MODULE_CLASS_EXEC, compat_netbsd32_50,
-"compat_netbsd32_60,compat_50,compat_50_quota");
-
+MODULE(MODULE_CLASS_EXEC, compat_netbsd32_50, "compat_netbsd32_60,compat_50");
 
 static int
 compat_netbsd32_50_modcmd(modcmd_t cmd, void *arg)



CVS commit: src/sys/compat/netbsd32

2020-03-13 Thread Maxime Villard
Module Name:src
Committed By:   maxv
Date:   Sat Mar 14 04:39:15 UTC 2020

Modified Files:
src/sys/compat/netbsd32: netbsd32_ioctl.c

Log Message:
wrong size passed to copyout


To generate a diff of this commit:
cvs rdiff -u -r1.109 -r1.110 src/sys/compat/netbsd32/netbsd32_ioctl.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_ioctl.c
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.c:1.109 src/sys/compat/netbsd32/netbsd32_ioctl.c:1.110
--- src/sys/compat/netbsd32/netbsd32_ioctl.c:1.109	Tue Feb 11 06:33:51 2020
+++ src/sys/compat/netbsd32/netbsd32_ioctl.c	Sat Mar 14 04:39:15 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.c,v 1.109 2020/02/11 06:33:51 mlelstv Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.c,v 1.110 2020/03/14 04:39:15 maxv Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -31,7 +31,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.109 2020/02/11 06:33:51 mlelstv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.110 2020/03/14 04:39:15 maxv Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ntp.h"
@@ -1059,7 +1059,7 @@ netbsd32_do_clockctl_ntp_adjtime(struct 
 	(*vec_ntp_adjtime1)();
 	netbsd32_from_timex(, );
 
-	error = copyout(, args->tp, sizeof(ntv));
+	error = copyout(, args->tp, sizeof(ntv32));
 	if (error == 0)
 		args->retval = ntp_timestatus();
 



CVS commit: src/sys/compat/netbsd32

2020-03-12 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Thu Mar 12 15:03:15 UTC 2020

Modified Files:
src/sys/compat/netbsd32: netbsd32_syscall.h netbsd32_syscallargs.h
netbsd32_syscalls.c netbsd32_syscalls_autoload.c netbsd32_sysent.c
netbsd32_systrace_args.c

Log Message:
regen


To generate a diff of this commit:
cvs rdiff -u -r1.149 -r1.150 src/sys/compat/netbsd32/netbsd32_syscall.h
cvs rdiff -u -r1.148 -r1.149 src/sys/compat/netbsd32/netbsd32_syscallargs.h \
src/sys/compat/netbsd32/netbsd32_syscalls.c
cvs rdiff -u -r1.28 -r1.29 \
src/sys/compat/netbsd32/netbsd32_syscalls_autoload.c
cvs rdiff -u -r1.147 -r1.148 src/sys/compat/netbsd32/netbsd32_sysent.c
cvs rdiff -u -r1.39 -r1.40 src/sys/compat/netbsd32/netbsd32_systrace_args.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_syscall.h
diff -u src/sys/compat/netbsd32/netbsd32_syscall.h:1.149 src/sys/compat/netbsd32/netbsd32_syscall.h:1.150
--- src/sys/compat/netbsd32/netbsd32_syscall.h:1.149	Sat Mar  7 00:57:31 2020
+++ src/sys/compat/netbsd32/netbsd32_syscall.h	Thu Mar 12 15:03:15 2020
@@ -1,10 +1,10 @@
-/* $NetBSD: netbsd32_syscall.h,v 1.149 2020/03/07 00:57:31 pgoyette Exp $ */
+/* $NetBSD: netbsd32_syscall.h,v 1.150 2020/03/12 15:03:15 pgoyette Exp $ */
 
 /*
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.132 2020/03/07 00:56:41 pgoyette Exp
+ * created from	NetBSD: syscalls.master,v 1.133 2020/03/12 15:02:29 pgoyette Exp
  */
 
 #ifndef _NETBSD32_SYS_SYSCALL_H_
@@ -428,13 +428,9 @@
 /* syscall: "setsid" ret: "int" args: */
 #define	NETBSD32_SYS_setsid	147
 
-#if defined(QUOTA) || !defined(_KERNEL_OPT)
 /* syscall: "compat_50_netbsd32_quotactl" ret: "int" args: "netbsd32_charp" "int" "int" "netbsd32_voidp" */
 #define	NETBSD32_SYS_compat_50_netbsd32_quotactl	148
 
-#else
-/* 148 is excluded compat_netbsd32_quotactl */
-#endif
 /* 149 is excluded compat_netbsd32_quota */
 /* syscall: "compat_43_netbsd32_ogetsockname" ret: "int" args: "int" "netbsd32_voidp" "netbsd32_intp" */
 #define	NETBSD32_SYS_compat_43_netbsd32_ogetsockname	150
@@ -1237,13 +1233,9 @@
 /* syscall: "netbsd32_futimens" ret: "int" args: "int" "const netbsd32_timespecp_t" */
 #define	NETBSD32_SYS_netbsd32_futimens	472
 
-#if defined(QUOTA) || !defined(_KERNEL_OPT)
 /* syscall: "netbsd32___quotactl" ret: "int" args: "const netbsd32_charp" "netbsd32_voidp" */
 #define	NETBSD32_SYS_netbsd32___quotactl	473
 
-#else
-/* 473 is excluded netbsd32___quotactl */
-#endif
 /* syscall: "netbsd32_posix_spawn" ret: "int" args: "netbsd32_pid_tp" "const netbsd32_charp" "const netbsd32_posix_spawn_file_actionsp" "const netbsd32_posix_spawnattrp" "netbsd32_charpp" "netbsd32_charpp" */
 #define	NETBSD32_SYS_netbsd32_posix_spawn	474
 

Index: src/sys/compat/netbsd32/netbsd32_syscallargs.h
diff -u src/sys/compat/netbsd32/netbsd32_syscallargs.h:1.148 src/sys/compat/netbsd32/netbsd32_syscallargs.h:1.149
--- src/sys/compat/netbsd32/netbsd32_syscallargs.h:1.148	Sat Mar  7 00:57:31 2020
+++ src/sys/compat/netbsd32/netbsd32_syscallargs.h	Thu Mar 12 15:03:15 2020
@@ -1,10 +1,10 @@
-/* $NetBSD: netbsd32_syscallargs.h,v 1.148 2020/03/07 00:57:31 pgoyette Exp $ */
+/* $NetBSD: netbsd32_syscallargs.h,v 1.149 2020/03/12 15:03:15 pgoyette Exp $ */
 
 /*
  * System call argument lists.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.132 2020/03/07 00:56:41 pgoyette Exp
+ * created from	NetBSD: syscalls.master,v 1.133 2020/03/12 15:02:29 pgoyette Exp
  */
 
 #ifndef _NETBSD32_SYS_SYSCALLARGS_H_
@@ -793,7 +793,6 @@ struct compat_43_netbsd32_killpg_args {
 	syscallarg(int) signum;
 };
 check_syscall_args(compat_43_netbsd32_killpg)
-#if defined(QUOTA) || !defined(_KERNEL_OPT)
 
 struct compat_50_netbsd32_quotactl_args {
 	syscallarg(netbsd32_charp) path;
@@ -802,8 +801,6 @@ struct compat_50_netbsd32_quotactl_args 
 	syscallarg(netbsd32_voidp) arg;
 };
 check_syscall_args(compat_50_netbsd32_quotactl)
-#else
-#endif
 
 struct compat_43_netbsd32_ogetsockname_args {
 	syscallarg(int) fdec;
@@ -2534,15 +2531,12 @@ struct netbsd32_futimens_args {
 	syscallarg(const netbsd32_timespecp_t) tptr;
 };
 check_syscall_args(netbsd32_futimens)
-#if defined(QUOTA) || !defined(_KERNEL_OPT)
 
 struct netbsd32___quotactl_args {
 	syscallarg(const netbsd32_charp) path;
 	syscallarg(netbsd32_voidp) args;
 };
 check_syscall_args(netbsd32___quotactl)
-#else
-#endif
 
 struct netbsd32_posix_spawn_args {
 	syscallarg(netbsd32_pid_tp) pid;
@@ -2925,11 +2919,8 @@ int	compat_43_netbsd32_killpg(struct lwp
 
 int	sys_setsid(struct lwp *, const void *, register_t *);
 
-#if defined(QUOTA) || !defined(_KERNEL_OPT)
 int	compat_50_netbsd32_quotactl(struct lwp *, const struct compat_50_netbsd32_quotactl_args *, register_t *);
 
-#else
-#endif
 

CVS commit: src/sys/compat/netbsd32

2020-03-08 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Mon Mar  9 01:06:34 UTC 2020

Modified Files:
src/sys/compat/netbsd32: netbsd32_mod.c

Log Message:
If a syscall requires a module to be autoloaded, the initial invocation
of that syscall will return ERESTART.  For amd64's netbsd32_syscall()
that means we need to back up the PC saved in the trap frame so we can
re-issue the syscall instruction.  For "normal" syscall traps, we saved
the instruction length in the trap frame, but this was missing for the
oosyscall/lcall path.  Since the PC was not backed up, the kernel-only
value ERESTART was returned to userland, causing all sort of grief for
old compat_netbsd32 executables!

XXX Pullup-9


To generate a diff of this commit:
cvs rdiff -u -r1.18 -r1.19 src/sys/compat/netbsd32/netbsd32_mod.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_mod.c
diff -u src/sys/compat/netbsd32/netbsd32_mod.c:1.18 src/sys/compat/netbsd32/netbsd32_mod.c:1.19
--- src/sys/compat/netbsd32/netbsd32_mod.c:1.18	Sun Mar  8 04:17:49 2020
+++ src/sys/compat/netbsd32/netbsd32_mod.c	Mon Mar  9 01:06:34 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_mod.c,v 1.18 2020/03/08 04:17:49 pgoyette Exp $	*/
+/*	$NetBSD: netbsd32_mod.c,v 1.19 2020/03/09 01:06:34 pgoyette Exp $	*/
 
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -59,7 +59,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_mod.c,v 1.18 2020/03/08 04:17:49 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_mod.c,v 1.19 2020/03/09 01:06:34 pgoyette Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_execfmt.h"
@@ -148,8 +148,9 @@ amd64_oosyscall_handle(struct proc *p, s
 	copyin((void *)frame->tf_rip, tmp, sz) == 0 &&
 	memcmp(tmp, lcall, sz) == 0) {
 
-		/* Advance past the lcall. */
+		/* Advance past the lcall and save instruction size. */
 		frame->tf_rip += sz;
+		frame->tf_err = sz;
 
 		/* Do the syscall */
 		p->p_md.md_syscall(frame);
@@ -157,7 +158,7 @@ amd64_oosyscall_handle(struct proc *p, s
 	} else
 		return EPASSTHROUGH;
 }
-#endif
+#endif /* defined(__amd64__) */
 
 static int
 compat_netbsd32_modcmd(modcmd_t cmd, void *arg)
@@ -175,14 +176,14 @@ compat_netbsd32_modcmd(modcmd_t cmd, voi
 #if defined(__amd64__)
 			MODULE_HOOK_SET(amd64_oosyscall_hook,
 			amd64_oosyscall_handle);
-#endif
+#endif /* defined(__amd64__) */
 		}
 		return error;
 
 	case MODULE_CMD_FINI:
 #if defined(__amd64__)
 		MODULE_HOOK_UNSET(amd64_oosyscall_hook);
-#endif
+#endif /* defined(__amd64__) */
 		netbsd32_machdep_md_fini();
 		netbsd32_sysctl_fini();
 		netbsd32_kern_proc_32_fini();
@@ -196,7 +197,7 @@ compat_netbsd32_modcmd(modcmd_t cmd, voi
 #if defined(__amd64__)
 			MODULE_HOOK_SET(amd64_oosyscall_hook,
 			amd64_oosyscall_handle);
-#endif
+#endif /* defined(__amd64__) */
 		}
 		return error;
 



CVS commit: src/sys/compat/netbsd32

2020-03-07 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sun Mar  8 04:17:50 UTC 2020

Modified Files:
src/sys/compat/netbsd32: netbsd32_mod.c

Log Message:
fix indentation.  NFCI


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/sys/compat/netbsd32/netbsd32_mod.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_mod.c
diff -u src/sys/compat/netbsd32/netbsd32_mod.c:1.17 src/sys/compat/netbsd32/netbsd32_mod.c:1.18
--- src/sys/compat/netbsd32/netbsd32_mod.c:1.17	Sun Mar  8 00:53:12 2020
+++ src/sys/compat/netbsd32/netbsd32_mod.c	Sun Mar  8 04:17:49 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_mod.c,v 1.17 2020/03/08 00:53:12 pgoyette Exp $	*/
+/*	$NetBSD: netbsd32_mod.c,v 1.18 2020/03/08 04:17:49 pgoyette Exp $	*/
 
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -59,7 +59,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_mod.c,v 1.17 2020/03/08 00:53:12 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_mod.c,v 1.18 2020/03/08 04:17:49 pgoyette Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_execfmt.h"
@@ -173,7 +173,8 @@ compat_netbsd32_modcmd(modcmd_t cmd, voi
 			netbsd32_machdep_md_init();
 			netbsd32_kern_proc_32_init();
 #if defined(__amd64__)
-		MODULE_HOOK_SET(amd64_oosyscall_hook, amd64_oosyscall_handle);
+			MODULE_HOOK_SET(amd64_oosyscall_hook,
+			amd64_oosyscall_handle);
 #endif
 		}
 		return error;



CVS commit: src/sys/compat/netbsd32

2020-03-06 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sat Mar  7 00:57:31 UTC 2020

Modified Files:
src/sys/compat/netbsd32: netbsd32_syscall.h netbsd32_syscallargs.h
netbsd32_syscalls.c netbsd32_syscalls_autoload.c netbsd32_sysent.c
netbsd32_systrace_args.c

Log Message:
Regen


To generate a diff of this commit:
cvs rdiff -u -r1.148 -r1.149 src/sys/compat/netbsd32/netbsd32_syscall.h
cvs rdiff -u -r1.147 -r1.148 src/sys/compat/netbsd32/netbsd32_syscallargs.h \
src/sys/compat/netbsd32/netbsd32_syscalls.c
cvs rdiff -u -r1.27 -r1.28 \
src/sys/compat/netbsd32/netbsd32_syscalls_autoload.c
cvs rdiff -u -r1.146 -r1.147 src/sys/compat/netbsd32/netbsd32_sysent.c
cvs rdiff -u -r1.38 -r1.39 src/sys/compat/netbsd32/netbsd32_systrace_args.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_syscall.h
diff -u src/sys/compat/netbsd32/netbsd32_syscall.h:1.148 src/sys/compat/netbsd32/netbsd32_syscall.h:1.149
--- src/sys/compat/netbsd32/netbsd32_syscall.h:1.148	Sat Jan 18 14:07:31 2020
+++ src/sys/compat/netbsd32/netbsd32_syscall.h	Sat Mar  7 00:57:31 2020
@@ -1,10 +1,10 @@
-/* $NetBSD: netbsd32_syscall.h,v 1.148 2020/01/18 14:07:31 pgoyette Exp $ */
+/* $NetBSD: netbsd32_syscall.h,v 1.149 2020/03/07 00:57:31 pgoyette Exp $ */
 
 /*
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.131 2020/01/18 07:33:24 kamil Exp
+ * created from	NetBSD: syscalls.master,v 1.132 2020/03/07 00:56:41 pgoyette Exp
  */
 
 #ifndef _NETBSD32_SYS_SYSCALL_H_
@@ -432,13 +432,10 @@
 /* syscall: "compat_50_netbsd32_quotactl" ret: "int" args: "netbsd32_charp" "int" "int" "netbsd32_voidp" */
 #define	NETBSD32_SYS_compat_50_netbsd32_quotactl	148
 
-/* syscall: "compat_43_oquota" ret: "int" args: */
-#define	NETBSD32_SYS_compat_43_oquota	149
-
 #else
 /* 148 is excluded compat_netbsd32_quotactl */
-/* 149 is excluded compat_netbsd32_quota */
 #endif
+/* 149 is excluded compat_netbsd32_quota */
 /* syscall: "compat_43_netbsd32_ogetsockname" ret: "int" args: "int" "netbsd32_voidp" "netbsd32_intp" */
 #define	NETBSD32_SYS_compat_43_netbsd32_ogetsockname	150
 

Index: src/sys/compat/netbsd32/netbsd32_syscallargs.h
diff -u src/sys/compat/netbsd32/netbsd32_syscallargs.h:1.147 src/sys/compat/netbsd32/netbsd32_syscallargs.h:1.148
--- src/sys/compat/netbsd32/netbsd32_syscallargs.h:1.147	Sat Jan 18 14:07:31 2020
+++ src/sys/compat/netbsd32/netbsd32_syscallargs.h	Sat Mar  7 00:57:31 2020
@@ -1,10 +1,10 @@
-/* $NetBSD: netbsd32_syscallargs.h,v 1.147 2020/01/18 14:07:31 pgoyette Exp $ */
+/* $NetBSD: netbsd32_syscallargs.h,v 1.148 2020/03/07 00:57:31 pgoyette Exp $ */
 
 /*
  * System call argument lists.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.131 2020/01/18 07:33:24 kamil Exp
+ * created from	NetBSD: syscalls.master,v 1.132 2020/03/07 00:56:41 pgoyette Exp
  */
 
 #ifndef _NETBSD32_SYS_SYSCALLARGS_H_
@@ -2928,8 +2928,6 @@ int	sys_setsid(struct lwp *, const void 
 #if defined(QUOTA) || !defined(_KERNEL_OPT)
 int	compat_50_netbsd32_quotactl(struct lwp *, const struct compat_50_netbsd32_quotactl_args *, register_t *);
 
-int	compat_43_sys_quota(struct lwp *, const void *, register_t *);
-
 #else
 #endif
 int	compat_43_netbsd32_ogetsockname(struct lwp *, const struct compat_43_netbsd32_ogetsockname_args *, register_t *);
Index: src/sys/compat/netbsd32/netbsd32_syscalls.c
diff -u src/sys/compat/netbsd32/netbsd32_syscalls.c:1.147 src/sys/compat/netbsd32/netbsd32_syscalls.c:1.148
--- src/sys/compat/netbsd32/netbsd32_syscalls.c:1.147	Sat Jan 18 14:07:31 2020
+++ src/sys/compat/netbsd32/netbsd32_syscalls.c	Sat Mar  7 00:57:31 2020
@@ -1,14 +1,14 @@
-/* $NetBSD: netbsd32_syscalls.c,v 1.147 2020/01/18 14:07:31 pgoyette Exp $ */
+/* $NetBSD: netbsd32_syscalls.c,v 1.148 2020/03/07 00:57:31 pgoyette Exp $ */
 
 /*
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.131 2020/01/18 07:33:24 kamil Exp
+ * created from	NetBSD: syscalls.master,v 1.132 2020/03/07 00:56:41 pgoyette Exp
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_syscalls.c,v 1.147 2020/01/18 14:07:31 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_syscalls.c,v 1.148 2020/03/07 00:57:31 pgoyette Exp $");
 
 #if defined(_KERNEL_OPT)
 #if defined(_KERNEL_OPT)
@@ -180,11 +180,10 @@ const char *const netbsd32_syscallnames[
 	/* 147 */	"setsid",
 #if defined(QUOTA) || !defined(_KERNEL_OPT)
 	/* 148 */	"compat_50_netbsd32_quotactl",
-	/* 149 */	"compat_43_oquota",
 #else
 	/* 148 */	"#148 (excluded compat_netbsd32_quotactl)",
-	/* 149 */	"#149 (excluded compat_netbsd32_quota)",
 #endif
+	/* 149 */	"#149 (excluded compat_netbsd32_quota)",
 	/* 150 */	"compat_43_netbsd32_ogetsockname",
 	/* 151 */	"#151 

CVS commit: src/sys/compat/netbsd32

2020-03-06 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sat Mar  7 00:56:41 UTC 2020

Modified Files:
src/sys/compat/netbsd32: netbsd32_compat_43.c syscalls.master

Log Message:
Properly mark netbsd32_compat_43 syscalls that are directly implemented
by calling their compat_43 equivalents.  With these changes, and with
built-in versions of COMPAT_NETBSD32, COMPAT_NOMID, and COMPAT_09, I can
now run a netbsd-0.9 statically linked i386 (32-bit) version of /bin/ls
on a 9.99.x amd64 host!

Addresses PR kern/55047 but more changes coming to handle non-built-in
modules.

XXX pullup-9


To generate a diff of this commit:
cvs rdiff -u -r1.59 -r1.60 src/sys/compat/netbsd32/netbsd32_compat_43.c
cvs rdiff -u -r1.131 -r1.132 src/sys/compat/netbsd32/syscalls.master

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_compat_43.c
diff -u src/sys/compat/netbsd32/netbsd32_compat_43.c:1.59 src/sys/compat/netbsd32/netbsd32_compat_43.c:1.60
--- src/sys/compat/netbsd32/netbsd32_compat_43.c:1.59	Wed Jan  1 09:17:45 2020
+++ src/sys/compat/netbsd32/netbsd32_compat_43.c	Sat Mar  7 00:56:41 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_compat_43.c,v 1.59 2020/01/01 09:17:45 maxv Exp $	*/
+/*	$NetBSD: netbsd32_compat_43.c,v 1.60 2020/03/07 00:56:41 pgoyette Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_43.c,v 1.59 2020/01/01 09:17:45 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_43.c,v 1.60 2020/03/07 00:56:41 pgoyette Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_compat_43.h"
@@ -769,6 +769,26 @@ static struct syscall_package compat_net
 	(sy_call_t *)compat_43_netbsd32_sigsetmask },
 	{ NETBSD32_SYS_compat_43_netbsd32_osigstack, 0,
 	(sy_call_t *)compat_43_netbsd32_osigstack },
+/*
+ * These syscalls are provided by emul_netbsd compat_43 code, but their
+ * entry points must still be loaded in the emul_netbsd32 disatch table
+ */
+	{ NETBSD32_SYS_compat_43_ogetpagesize, 0,
+	(sy_call_t *)compat_43_sys_getpagesize },
+	{ NETBSD32_SYS_compat_43_ogetdtablesize, 0,
+	(sy_call_t *)compat_43_sys_getdtablesize},
+	{ NETBSD32_SYS_compat_43_ogethostid, 0,
+	(sy_call_t *)compat_43_sys_gethostid },
+	{ NETBSD32_SYS_compat_43_owait, 0,
+	(sy_call_t *)compat_43_sys_wait },
+/*
+ * Skip oquota since it isn't part of compat_43
+ *	{ NETBSD32_SYS_compat_43_oquota, 0,
+ *	(sy_call_t *)compat_43_sys_quota },
+ */
+
+/* End of compat_43 syscalls */
+
 	{ 0, 0, NULL }
 }; 
 

Index: src/sys/compat/netbsd32/syscalls.master
diff -u src/sys/compat/netbsd32/syscalls.master:1.131 src/sys/compat/netbsd32/syscalls.master:1.132
--- src/sys/compat/netbsd32/syscalls.master:1.131	Sat Jan 18 07:33:24 2020
+++ src/sys/compat/netbsd32/syscalls.master	Sat Mar  7 00:56:41 2020
@@ -1,4 +1,4 @@
-	$NetBSD: syscalls.master,v 1.131 2020/01/18 07:33:24 kamil Exp $
+	$NetBSD: syscalls.master,v 1.132 2020/03/07 00:56:41 pgoyette Exp $
 
 ;	from: NetBSD: syscalls.master,v 1.81 1998/07/05 08:49:50 jonathan Exp
 ;	@(#)syscalls.master	8.2 (Berkeley) 1/13/94
@@ -183,7 +183,7 @@
 			{ int|netbsd32||ogetkerninfo(int op, \
 			netbsd32_charp where, netbsd32_intp size, \
 			int arg); }
-64	COMPAT_43 MODULAR compat_netbsd32_43	\
+64	COMPAT_43 MODULAR compat_43	\
 			{ int|sys||getpagesize(void); } ogetpagesize
 65	COMPAT_12 MODULAR compat_netbsd32_12	\
 			{ int|netbsd32||msync(netbsd32_voidp addr, \
@@ -219,7 +219,7 @@
 			{ int|netbsd32||setitimer(int which, \
 			netbsd32_itimerval50p_t itv, \
 			netbsd32_itimerval50p_t oitv); }
-84	COMPAT_43 MODULAR compat_netbsd32_43	\
+84	COMPAT_43 MODULAR compat_43	\
 			{ int|sys||wait(void); } owait
 85	COMPAT_12 MODULAR compat_netbsd32_12	\
 			{ int|netbsd32||oswapon(netbsd32_charp name); }
@@ -232,7 +232,7 @@
 88	COMPAT_43 MODULAR compat_netbsd32_43	\
 			{ int|netbsd32||osethostname(netbsd32_charp hostname, \
 			u_int len); }
-89	COMPAT_43 MODULAR compat_netbsd32_43	\
+89	COMPAT_43 MODULAR compat_43	\
 			{ int|sys||getdtablesize(void); } ogetdtablesize
 90	STD		{ int|netbsd32||dup2(int from, int to); }
 91	UNIMPL		getdopt
@@ -343,7 +343,7 @@
 141	COMPAT_43 MODULAR compat_netbsd32_43	\
 			{ int|netbsd32||ogetpeername(int fdes, \
 			netbsd32_voidp asa, netbsd32_intp alen); }
-142	COMPAT_43 MODULAR compat_netbsd32_43	\
+142	COMPAT_43 MODULAR compat_43	\
 			{ int32_t|sys||gethostid(void); } ogethostid
 143	COMPAT_43 MODULAR compat_netbsd32_43	\
 			{ int|netbsd32||sethostid(int32_t hostid); }
@@ -360,12 +360,10 @@
 148	COMPAT_50 MODULAR compat_netbsd32_50	\
 			{ int|netbsd32||quotactl(netbsd32_charp path, int cmd, \
 			int uid, netbsd32_voidp arg); }
-149	COMPAT_43 MODULAR compat_netbsd32_43	\
-			{ int|sys||quota(void); } oquota
 #else
 148	EXCL 		compat_netbsd32_quotactl
-149	EXCL 		compat_netbsd32_quota
 #endif
+149	EXCL 		

CVS commit: src/sys/compat/netbsd32

2020-03-05 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Fri Mar  6 04:54:08 UTC 2020

Modified Files:
src/sys/compat/netbsd32: netbsd32.mk

Log Message:
According to mrg@ we need to include aarch64 in the list of those
that need to support COMPAT_NETBSD32


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/compat/netbsd32/netbsd32.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32.mk
diff -u src/sys/compat/netbsd32/netbsd32.mk:1.1 src/sys/compat/netbsd32/netbsd32.mk:1.2
--- src/sys/compat/netbsd32/netbsd32.mk:1.1	Mon Feb  4 21:57:47 2019
+++ src/sys/compat/netbsd32/netbsd32.mk	Fri Mar  6 04:54:08 2020
@@ -1,10 +1,11 @@
-#	$NetBSD: netbsd32.mk,v 1.1 2019/02/04 21:57:47 mrg Exp $
+#	$NetBSD: netbsd32.mk,v 1.2 2020/03/06 04:54:08 pgoyette Exp $
 
 # makefile fragment that tells you if you should support netbsd32 or not.
 # include this and check ${COMPAT_USE_NETBSD32} != "no".
 
 .if ${MACHINE_ARCH} == "x86_64" \
 || ${MACHINE_CPU} == "arm" \
+|| ${MACHINE_CPU} == "aarch64" \
 || ${MACHINE_ARCH} == "sparc64" \
 || (!empty(MACHINE_ARCH:Mmips64*) && !defined(BSD_MK_COMPAT_FILE))
 COMPAT_USE_NETBSD32?=yes



CVS commit: src/sys/compat/netbsd32

2020-02-27 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Thu Feb 27 20:54:24 UTC 2020

Modified Files:
src/sys/compat/netbsd32: netbsd32_compat_50.c

Log Message:
Module compat_netbsd32_50 requires module compat_50_quota


To generate a diff of this commit:
cvs rdiff -u -r1.45 -r1.46 src/sys/compat/netbsd32/netbsd32_compat_50.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_compat_50.c
diff -u src/sys/compat/netbsd32/netbsd32_compat_50.c:1.45 src/sys/compat/netbsd32/netbsd32_compat_50.c:1.46
--- src/sys/compat/netbsd32/netbsd32_compat_50.c:1.45	Wed Jan 29 15:47:51 2020
+++ src/sys/compat/netbsd32/netbsd32_compat_50.c	Thu Feb 27 20:54:24 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_compat_50.c,v 1.45 2020/01/29 15:47:51 ad Exp $	*/
+/*	$NetBSD: netbsd32_compat_50.c,v 1.46 2020/02/27 20:54:24 pgoyette Exp $	*/
 
 /*-
  * Copyright (c) 2008, 2020 The NetBSD Foundation, Inc.
@@ -29,7 +29,7 @@
  * POSSIBILITY OF SUCH DAMAGE.
  */
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_50.c,v 1.45 2020/01/29 15:47:51 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_50.c,v 1.46 2020/02/27 20:54:24 pgoyette Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_compat_netbsd.h"
@@ -1037,7 +1037,9 @@ static struct syscall_package compat_net
 	{ 0, 0, NULL }
 }; 
 
-MODULE(MODULE_CLASS_EXEC, compat_netbsd32_50, "compat_netbsd32_60,compat_50");
+MODULE(MODULE_CLASS_EXEC, compat_netbsd32_50,
+"compat_netbsd32_60,compat_50,compat_50_quota");
+
 
 static int
 compat_netbsd32_50_modcmd(modcmd_t cmd, void *arg)



CVS commit: src/sys/compat/netbsd32

2020-02-10 Thread Michael van Elst
Module Name:src
Committed By:   mlelstv
Date:   Tue Feb 11 06:33:51 UTC 2020

Modified Files:
src/sys/compat/netbsd32: netbsd32_ioctl.c

Log Message:
Where did the +1 came from ?


To generate a diff of this commit:
cvs rdiff -u -r1.108 -r1.109 src/sys/compat/netbsd32/netbsd32_ioctl.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_ioctl.c
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.c:1.108 src/sys/compat/netbsd32/netbsd32_ioctl.c:1.109
--- src/sys/compat/netbsd32/netbsd32_ioctl.c:1.108	Mon Feb 10 22:33:28 2020
+++ src/sys/compat/netbsd32/netbsd32_ioctl.c	Tue Feb 11 06:33:51 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.c,v 1.108 2020/02/10 22:33:28 mlelstv Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.c,v 1.109 2020/02/11 06:33:51 mlelstv Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -31,7 +31,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.108 2020/02/10 22:33:28 mlelstv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.109 2020/02/11 06:33:51 mlelstv Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ntp.h"
@@ -147,7 +147,7 @@ netbsd32_to_if_addrprefreq(const struct 
 struct if_addrprefreq *ifap, u_long cmd)
 {
 
-	memcpy(ifap->ifap_name, ifap32->ifap_name, IFNAMSIZ+1);
+	memcpy(ifap->ifap_name, ifap32->ifap_name, IFNAMSIZ);
 	ifap->ifap_preference = ifap32->ifap_preference;
 	memcpy(>ifap_addr, >ifap_addr,
 	uimin(ifap32->ifap_addr.ss_len, _SS_MAXSIZE));



CVS commit: src/sys/compat/netbsd32

2020-02-10 Thread Michael van Elst
Module Name:src
Committed By:   mlelstv
Date:   Mon Feb 10 22:33:28 UTC 2020

Modified Files:
src/sys/compat/netbsd32: netbsd32_ioctl.c

Log Message:
Don't use strlcpy to copy untrusted input, it may not be NUL-terminated.


To generate a diff of this commit:
cvs rdiff -u -r1.107 -r1.108 src/sys/compat/netbsd32/netbsd32_ioctl.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_ioctl.c
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.c:1.107 src/sys/compat/netbsd32/netbsd32_ioctl.c:1.108
--- src/sys/compat/netbsd32/netbsd32_ioctl.c:1.107	Sat Feb  1 02:23:03 2020
+++ src/sys/compat/netbsd32/netbsd32_ioctl.c	Mon Feb 10 22:33:28 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.c,v 1.107 2020/02/01 02:23:03 riastradh Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.c,v 1.108 2020/02/10 22:33:28 mlelstv Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -31,7 +31,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.107 2020/02/01 02:23:03 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.108 2020/02/10 22:33:28 mlelstv Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ntp.h"
@@ -147,7 +147,7 @@ netbsd32_to_if_addrprefreq(const struct 
 struct if_addrprefreq *ifap, u_long cmd)
 {
 
-	strlcpy(ifap->ifap_name, ifap32->ifap_name, sizeof(ifap->ifap_name));
+	memcpy(ifap->ifap_name, ifap32->ifap_name, IFNAMSIZ+1);
 	ifap->ifap_preference = ifap32->ifap_preference;
 	memcpy(>ifap_addr, >ifap_addr,
 	uimin(ifap32->ifap_addr.ss_len, _SS_MAXSIZE));
@@ -386,7 +386,7 @@ netbsd32_to_ieee80211req(struct netbsd32
 struct ieee80211req *ireq, u_long cmd)
 {
 
-	strlcpy(ireq->i_name, ireq32->i_name, IFNAMSIZ);
+	memcpy(ireq->i_name, ireq32->i_name, IFNAMSIZ);
 	ireq->i_type = ireq32->i_type;
 	ireq->i_val = ireq32->i_val;
 	ireq->i_len = ireq32->i_len;
@@ -399,7 +399,7 @@ netbsd32_to_ieee80211_nwkey(struct netbs
 {
 	int i;
 
-	strlcpy(nwk->i_name, nwk32->i_name, IFNAMSIZ);
+	memcpy(nwk->i_name, nwk32->i_name, IFNAMSIZ);
 	nwk->i_wepon = nwk32->i_wepon;
 	nwk->i_defkid = nwk32->i_defkid;
 	for (i = 0; i < IEEE80211_WEP_NKID; i++) {
@@ -630,7 +630,7 @@ netbsd32_from_if_addrprefreq(const struc
 struct netbsd32_if_addrprefreq *ifap32, u_long cmd)
 {
 
-	strlcpy(ifap32->ifap_name, ifap->ifap_name, sizeof(ifap32->ifap_name));
+	memcpy(ifap32->ifap_name, ifap->ifap_name, IFNAMSIZ);
 	ifap32->ifap_preference = ifap->ifap_preference;
 	memcpy(>ifap_addr, >ifap_addr,
 	uimin(ifap->ifap_addr.ss_len, _SS_MAXSIZE));
@@ -865,7 +865,7 @@ netbsd32_from_ieee80211req(struct ieee80
 struct netbsd32_ieee80211req *ireq32, u_long cmd)
 {
 
-	strlcpy(ireq32->i_name, ireq->i_name, IFNAMSIZ);
+	memcpy(ireq32->i_name, ireq->i_name, IFNAMSIZ);
 	ireq32->i_type = ireq->i_type;
 	ireq32->i_val = ireq->i_val;
 	ireq32->i_len = ireq->i_len;
@@ -878,7 +878,7 @@ netbsd32_from_ieee80211_nwkey(struct iee
 {
 	int i;
 
-	strlcpy(nwk32->i_name, nwk->i_name, IFNAMSIZ);
+	memcpy(nwk32->i_name, nwk->i_name, IFNAMSIZ);
 	nwk32->i_wepon = nwk->i_wepon;
 	nwk32->i_defkid = nwk->i_defkid;
 	for (i = 0; i < IEEE80211_WEP_NKID; i++) {



CVS commit: src/sys/compat/netbsd32

2020-01-18 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sat Jan 18 14:07:31 UTC 2020

Modified Files:
src/sys/compat/netbsd32: netbsd32_syscall.h netbsd32_syscallargs.h
netbsd32_syscalls.c netbsd32_syscalls_autoload.c netbsd32_sysent.c
netbsd32_systrace_args.c

Log Message:
Regen generated files _after_ committing changes to the source file.

This gets the "Generated from" comments to use the new version number.

No functional change.


To generate a diff of this commit:
cvs rdiff -u -r1.147 -r1.148 src/sys/compat/netbsd32/netbsd32_syscall.h
cvs rdiff -u -r1.146 -r1.147 src/sys/compat/netbsd32/netbsd32_syscallargs.h \
src/sys/compat/netbsd32/netbsd32_syscalls.c
cvs rdiff -u -r1.26 -r1.27 \
src/sys/compat/netbsd32/netbsd32_syscalls_autoload.c
cvs rdiff -u -r1.145 -r1.146 src/sys/compat/netbsd32/netbsd32_sysent.c
cvs rdiff -u -r1.37 -r1.38 src/sys/compat/netbsd32/netbsd32_systrace_args.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_syscall.h
diff -u src/sys/compat/netbsd32/netbsd32_syscall.h:1.147 src/sys/compat/netbsd32/netbsd32_syscall.h:1.148
--- src/sys/compat/netbsd32/netbsd32_syscall.h:1.147	Sat Jan 18 07:33:24 2020
+++ src/sys/compat/netbsd32/netbsd32_syscall.h	Sat Jan 18 14:07:31 2020
@@ -1,10 +1,10 @@
-/* $NetBSD: netbsd32_syscall.h,v 1.147 2020/01/18 07:33:24 kamil Exp $ */
+/* $NetBSD: netbsd32_syscall.h,v 1.148 2020/01/18 14:07:31 pgoyette Exp $ */
 
 /*
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.130 2019/11/04 11:32:22 rin Exp
+ * created from	NetBSD: syscalls.master,v 1.131 2020/01/18 07:33:24 kamil Exp
  */
 
 #ifndef _NETBSD32_SYS_SYSCALL_H_

Index: src/sys/compat/netbsd32/netbsd32_syscallargs.h
diff -u src/sys/compat/netbsd32/netbsd32_syscallargs.h:1.146 src/sys/compat/netbsd32/netbsd32_syscallargs.h:1.147
--- src/sys/compat/netbsd32/netbsd32_syscallargs.h:1.146	Sat Jan 18 07:33:24 2020
+++ src/sys/compat/netbsd32/netbsd32_syscallargs.h	Sat Jan 18 14:07:31 2020
@@ -1,10 +1,10 @@
-/* $NetBSD: netbsd32_syscallargs.h,v 1.146 2020/01/18 07:33:24 kamil Exp $ */
+/* $NetBSD: netbsd32_syscallargs.h,v 1.147 2020/01/18 14:07:31 pgoyette Exp $ */
 
 /*
  * System call argument lists.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.130 2019/11/04 11:32:22 rin Exp
+ * created from	NetBSD: syscalls.master,v 1.131 2020/01/18 07:33:24 kamil Exp
  */
 
 #ifndef _NETBSD32_SYS_SYSCALLARGS_H_
Index: src/sys/compat/netbsd32/netbsd32_syscalls.c
diff -u src/sys/compat/netbsd32/netbsd32_syscalls.c:1.146 src/sys/compat/netbsd32/netbsd32_syscalls.c:1.147
--- src/sys/compat/netbsd32/netbsd32_syscalls.c:1.146	Sat Jan 18 07:33:24 2020
+++ src/sys/compat/netbsd32/netbsd32_syscalls.c	Sat Jan 18 14:07:31 2020
@@ -1,14 +1,14 @@
-/* $NetBSD: netbsd32_syscalls.c,v 1.146 2020/01/18 07:33:24 kamil Exp $ */
+/* $NetBSD: netbsd32_syscalls.c,v 1.147 2020/01/18 14:07:31 pgoyette Exp $ */
 
 /*
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.130 2019/11/04 11:32:22 rin Exp
+ * created from	NetBSD: syscalls.master,v 1.131 2020/01/18 07:33:24 kamil Exp
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_syscalls.c,v 1.146 2020/01/18 07:33:24 kamil Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_syscalls.c,v 1.147 2020/01/18 14:07:31 pgoyette Exp $");
 
 #if defined(_KERNEL_OPT)
 #if defined(_KERNEL_OPT)

Index: src/sys/compat/netbsd32/netbsd32_syscalls_autoload.c
diff -u src/sys/compat/netbsd32/netbsd32_syscalls_autoload.c:1.26 src/sys/compat/netbsd32/netbsd32_syscalls_autoload.c:1.27
--- src/sys/compat/netbsd32/netbsd32_syscalls_autoload.c:1.26	Sat Jan 18 07:33:24 2020
+++ src/sys/compat/netbsd32/netbsd32_syscalls_autoload.c	Sat Jan 18 14:07:31 2020
@@ -1,14 +1,14 @@
-/* $NetBSD: netbsd32_syscalls_autoload.c,v 1.26 2020/01/18 07:33:24 kamil Exp $ */
+/* $NetBSD: netbsd32_syscalls_autoload.c,v 1.27 2020/01/18 14:07:31 pgoyette Exp $ */
 
 /*
  * System call autoload table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.130 2019/11/04 11:32:22 rin Exp
+ * created from	NetBSD: syscalls.master,v 1.131 2020/01/18 07:33:24 kamil Exp
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_syscalls_autoload.c,v 1.26 2020/01/18 07:33:24 kamil Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_syscalls_autoload.c,v 1.27 2020/01/18 14:07:31 pgoyette Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_compat_netbsd.h"

Index: src/sys/compat/netbsd32/netbsd32_sysent.c
diff -u src/sys/compat/netbsd32/netbsd32_sysent.c:1.145 src/sys/compat/netbsd32/netbsd32_sysent.c:1.146
--- src/sys/compat/netbsd32/netbsd32_sysent.c:1.145	Sat Jan 18 07:33:24 2020
+++ src/sys/compat/netbsd32/netbsd32_sysent.c	Sat Jan 18 

CVS commit: src/sys/compat/netbsd32

2020-01-17 Thread Kamil Rytarowski
Module Name:src
Committed By:   kamil
Date:   Sat Jan 18 07:33:24 UTC 2020

Modified Files:
src/sys/compat/netbsd32: netbsd32_syscall.h netbsd32_syscallargs.h
netbsd32_syscalls.c netbsd32_syscalls_autoload.c netbsd32_sysent.c
netbsd32_systrace_args.c syscalls.master

Log Message:
Catch up after getpid/getgid/getuid changes in native ABI in 2008

getpid(), getuid() and getgid() used to call respectively sys_getpid(),
sys_getuid() and sys_getgid(). In the BSD4.3 compat mode there was a
fallback to call sys_getpid_with_ppid() and related functions.

In 2008 the compat ifdef was removed in sys/kern/syscalls.master r. 1.216.

For purity reasons we probably shall restore the NetBSD original behavior
and implement BSD4.3 one as a compat module, however it is not worth the
complexity.

Align the netbsd32 compat ABI to native ABI and call functions that return
two integers as in BSD4.3.


To generate a diff of this commit:
cvs rdiff -u -r1.146 -r1.147 src/sys/compat/netbsd32/netbsd32_syscall.h
cvs rdiff -u -r1.145 -r1.146 src/sys/compat/netbsd32/netbsd32_syscallargs.h \
src/sys/compat/netbsd32/netbsd32_syscalls.c
cvs rdiff -u -r1.25 -r1.26 \
src/sys/compat/netbsd32/netbsd32_syscalls_autoload.c
cvs rdiff -u -r1.144 -r1.145 src/sys/compat/netbsd32/netbsd32_sysent.c
cvs rdiff -u -r1.36 -r1.37 src/sys/compat/netbsd32/netbsd32_systrace_args.c
cvs rdiff -u -r1.130 -r1.131 src/sys/compat/netbsd32/syscalls.master

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_syscall.h
diff -u src/sys/compat/netbsd32/netbsd32_syscall.h:1.146 src/sys/compat/netbsd32/netbsd32_syscall.h:1.147
--- src/sys/compat/netbsd32/netbsd32_syscall.h:1.146	Mon Nov  4 11:33:01 2019
+++ src/sys/compat/netbsd32/netbsd32_syscall.h	Sat Jan 18 07:33:24 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: netbsd32_syscall.h,v 1.146 2019/11/04 11:33:01 rin Exp $ */
+/* $NetBSD: netbsd32_syscall.h,v 1.147 2020/01/18 07:33:24 kamil Exp $ */
 
 /*
  * System call numbers.

Index: src/sys/compat/netbsd32/netbsd32_syscallargs.h
diff -u src/sys/compat/netbsd32/netbsd32_syscallargs.h:1.145 src/sys/compat/netbsd32/netbsd32_syscallargs.h:1.146
--- src/sys/compat/netbsd32/netbsd32_syscallargs.h:1.145	Mon Nov  4 11:33:01 2019
+++ src/sys/compat/netbsd32/netbsd32_syscallargs.h	Sat Jan 18 07:33:24 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: netbsd32_syscallargs.h,v 1.145 2019/11/04 11:33:01 rin Exp $ */
+/* $NetBSD: netbsd32_syscallargs.h,v 1.146 2020/01/18 07:33:24 kamil Exp $ */
 
 /*
  * System call argument lists.
@@ -2693,7 +2693,7 @@ int	compat_20_netbsd32_getfsstat(struct 
 
 int	compat_43_netbsd32_olseek(struct lwp *, const struct compat_43_netbsd32_olseek_args *, register_t *);
 
-int	sys_getpid(struct lwp *, const void *, register_t *);
+int	sys_getpid_with_ppid(struct lwp *, const void *, register_t *);
 
 int	compat_40_netbsd32_mount(struct lwp *, const struct compat_40_netbsd32_mount_args *, register_t *);
 
@@ -2701,7 +2701,7 @@ int	netbsd32_unmount(struct lwp *, const
 
 int	netbsd32_setuid(struct lwp *, const struct netbsd32_setuid_args *, register_t *);
 
-int	sys_getuid(struct lwp *, const void *, register_t *);
+int	sys_getuid_with_euid(struct lwp *, const void *, register_t *);
 
 int	sys_geteuid(struct lwp *, const void *, register_t *);
 
@@ -2747,7 +2747,7 @@ int	netbsd32_ktrace(struct lwp *, const 
 
 int	netbsd32_sigaction(struct lwp *, const struct netbsd32_sigaction_args *, register_t *);
 
-int	sys_getgid(struct lwp *, const void *, register_t *);
+int	sys_getgid_with_egid(struct lwp *, const void *, register_t *);
 
 int	compat_13_netbsd32_sigprocmask(struct lwp *, const struct compat_13_netbsd32_sigprocmask_args *, register_t *);
 
Index: src/sys/compat/netbsd32/netbsd32_syscalls.c
diff -u src/sys/compat/netbsd32/netbsd32_syscalls.c:1.145 src/sys/compat/netbsd32/netbsd32_syscalls.c:1.146
--- src/sys/compat/netbsd32/netbsd32_syscalls.c:1.145	Mon Nov  4 11:33:01 2019
+++ src/sys/compat/netbsd32/netbsd32_syscalls.c	Sat Jan 18 07:33:24 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: netbsd32_syscalls.c,v 1.145 2019/11/04 11:33:01 rin Exp $ */
+/* $NetBSD: netbsd32_syscalls.c,v 1.146 2020/01/18 07:33:24 kamil Exp $ */
 
 /*
  * System call names.
@@ -8,7 +8,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_syscalls.c,v 1.145 2019/11/04 11:33:01 rin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_syscalls.c,v 1.146 2020/01/18 07:33:24 kamil Exp $");
 
 #if defined(_KERNEL_OPT)
 #if defined(_KERNEL_OPT)
@@ -584,11 +584,11 @@ const char *const altnetbsd32_syscallnam
 	/*  17 */	"break",
 	/*  18 */	NULL, /* compat_20_netbsd32_getfsstat */
 	/*  19 */	NULL, /* compat_43_netbsd32_olseek */
-	/*  20 */	NULL, /* getpid */
+	/*  20 */	"getpid_with_ppid",
 	/*  21 */	NULL, /* compat_40_netbsd32_mount */
 	/*  22 */	"unmount",
 	/*  23 */	"setuid",
-	/*  24 */	NULL, /* getuid */
+	/*  24 */	"getuid_with_euid",
 	/*  25 

CVS commit: src/sys/compat/netbsd32

2020-01-06 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Tue Jan  7 07:26:21 UTC 2020

Modified Files:
src/sys/compat/netbsd32: netbsd32_vm.c

Log Message:
don't check the value of retval in netbsd32_mmap() if sys_mmap()
was not successful.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/compat/netbsd32/netbsd32_vm.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_vm.c
diff -u src/sys/compat/netbsd32/netbsd32_vm.c:1.1 src/sys/compat/netbsd32/netbsd32_vm.c:1.2
--- src/sys/compat/netbsd32/netbsd32_vm.c:1.1	Mon Dec 24 21:27:06 2018
+++ src/sys/compat/netbsd32/netbsd32_vm.c	Tue Jan  7 07:26:21 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_vm.c,v 1.1 2018/12/24 21:27:06 mrg Exp $	*/
+/*	$NetBSD: netbsd32_vm.c,v 1.2 2020/01/07 07:26:21 mrg Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001, 2008, 2018 Matthew R. Green
@@ -29,7 +29,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_vm.c,v 1.1 2018/12/24 21:27:06 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_vm.c,v 1.2 2020/01/07 07:26:21 mrg Exp $");
 
 #include 
 #include 
@@ -86,9 +86,13 @@ netbsd32_mmap(struct lwp *l, const struc
 #endif
 
 	error = sys_mmap(l, , retval);
-	if ((u_long)*retval > (u_long)UINT_MAX) {
-		printf("netbsd32_mmap: retval out of range: 0x%lx\n",
-		(u_long)*retval);
+	if (error == 0 && (u_long)*retval > (u_long)UINT_MAX) {
+		const char *name = curlwp->l_name;
+
+		if (name == NULL)
+			name = curproc->p_comm;
+		printf("netbsd32_mmap(%s:%u:%u): retval out of range: 0x%lx\n",
+		name, curproc->p_pid, curlwp->l_lid, (u_long)*retval);
 		/* Should try to recover and return an error here. */
 	}
 	return error;



CVS commit: src/sys/compat/netbsd32

2020-01-01 Thread Maxime Villard
Module Name:src
Committed By:   maxv
Date:   Wed Jan  1 09:17:45 UTC 2020

Modified Files:
src/sys/compat/netbsd32: netbsd32_compat_43.c

Log Message:
Fix sizeof mismatch in copyin. This leads to a user-triggerable stack
overflow. On my test build at least, by luck, the compiler orders the
variables in a way that the overflow hits only local structures which
haven't yet been initialized and used, so the overflow is harmless.

Very easily seeable with kASan - just invoke the syscall from a 32bit
binary.


To generate a diff of this commit:
cvs rdiff -u -r1.58 -r1.59 src/sys/compat/netbsd32/netbsd32_compat_43.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_compat_43.c
diff -u src/sys/compat/netbsd32/netbsd32_compat_43.c:1.58 src/sys/compat/netbsd32/netbsd32_compat_43.c:1.59
--- src/sys/compat/netbsd32/netbsd32_compat_43.c:1.58	Fri Aug 23 13:59:45 2019
+++ src/sys/compat/netbsd32/netbsd32_compat_43.c	Wed Jan  1 09:17:45 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_compat_43.c,v 1.58 2019/08/23 13:59:45 maxv Exp $	*/
+/*	$NetBSD: netbsd32_compat_43.c,v 1.59 2020/01/01 09:17:45 maxv Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_43.c,v 1.58 2019/08/23 13:59:45 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_43.c,v 1.59 2020/01/01 09:17:45 maxv Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_compat_43.h"
@@ -433,7 +433,7 @@ compat_43_netbsd32_orecvmsg(struct lwp *
 	struct iovec *iov, aiov[UIO_SMALLIOV];
 	int error;
 
-	error = copyin(SCARG_P32(uap, msg), , sizeof (struct omsghdr));
+	error = copyin(SCARG_P32(uap, msg), , sizeof(omsg));
 	if (error)
 		return (error);
 
@@ -518,7 +518,7 @@ compat_43_netbsd32_osendmsg(struct lwp *
 	struct sockaddr *sa;
 	int error;
 
-	error = copyin(SCARG_P32(uap, msg), , sizeof (struct omsghdr));
+	error = copyin(SCARG_P32(uap, msg), , sizeof(omsg));
 	if (error != 0)
 		return (error);
 



CVS commit: src/sys/compat/netbsd32

2019-02-26 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Wed Feb 27 03:01:08 UTC 2019

Removed Files:
src/sys/compat/netbsd32: netbsd32_compat_14.c

Log Message:
this file was moved to netbsd32_compat_14_sysv.c.


To generate a diff of this commit:
cvs rdiff -u -r1.29 -r0 src/sys/compat/netbsd32/netbsd32_compat_14.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/compat/netbsd32

2019-02-25 Thread Rin Okuyama
Module Name:src
Committed By:   rin
Date:   Tue Feb 26 06:28:43 UTC 2019

Modified Files:
src/sys/compat/netbsd32: netbsd32_exec_elf32.c

Log Message:
Push AT_STACKBASE. Otherwise, pthread_attr_getstack(3) cannot
find the stack address for initial thread (LID 1).

Now, rust for i386 and armv7 work on amd64 and aarch64,
respectively.


To generate a diff of this commit:
cvs rdiff -u -r1.41 -r1.42 src/sys/compat/netbsd32/netbsd32_exec_elf32.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_exec_elf32.c
diff -u src/sys/compat/netbsd32/netbsd32_exec_elf32.c:1.41 src/sys/compat/netbsd32/netbsd32_exec_elf32.c:1.42
--- src/sys/compat/netbsd32/netbsd32_exec_elf32.c:1.41	Sun Jan 27 02:08:40 2019
+++ src/sys/compat/netbsd32/netbsd32_exec_elf32.c	Tue Feb 26 06:28:43 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_exec_elf32.c,v 1.41 2019/01/27 02:08:40 pgoyette Exp $	*/
+/*	$NetBSD: netbsd32_exec_elf32.c,v 1.42 2019/02/26 06:28:43 rin Exp $	*/
 /*	from: NetBSD: exec_aout.c,v 1.15 1996/09/26 23:34:46 cgd Exp */
 
 /*
@@ -57,7 +57,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_exec_elf32.c,v 1.41 2019/01/27 02:08:40 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_exec_elf32.c,v 1.42 2019/02/26 06:28:43 rin Exp $");
 
 #define	ELFSIZE		32
 
@@ -196,6 +196,10 @@ netbsd32_elf32_copyargs(struct lwp *l, s
 		a->a_v = kauth_cred_getgid(l->l_cred);
 		a++;
 
+		a->a_type = AT_STACKBASE;
+		a->a_v = l->l_proc->p_stackbase;
+		a++;
+
 		exec_free_emul_arg(pack);
 	}
 



CVS commit: src/sys/compat/netbsd32

2019-02-20 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Thu Feb 21 05:02:21 UTC 2019

Modified Files:
src/sys/compat/netbsd32: netbsd32_compat_14.c

Log Message:
fix naming errors in previous.  (this file is no longer compiled, but
this fix makes the pull up more obvious, before deleting this file.)


To generate a diff of this commit:
cvs rdiff -u -r1.28 -r1.29 src/sys/compat/netbsd32/netbsd32_compat_14.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_compat_14.c
diff -u src/sys/compat/netbsd32/netbsd32_compat_14.c:1.28 src/sys/compat/netbsd32/netbsd32_compat_14.c:1.29
--- src/sys/compat/netbsd32/netbsd32_compat_14.c:1.28	Thu Feb 21 03:37:19 2019
+++ src/sys/compat/netbsd32/netbsd32_compat_14.c	Thu Feb 21 05:02:20 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_compat_14.c,v 1.28 2019/02/21 03:37:19 mrg Exp $	*/
+/*	$NetBSD: netbsd32_compat_14.c,v 1.29 2019/02/21 05:02:20 mrg Exp $	*/
 
 /*
  * Copyright (c) 1999 Eduardo E. Horvath
@@ -29,7 +29,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_14.c,v 1.28 2019/02/21 03:37:19 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_14.c,v 1.29 2019/02/21 05:02:20 mrg Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_sysv.h"
@@ -146,7 +146,7 @@ static inline void
 native_to_netbsd32_semid_ds14(struct semid_ds *sembuf, struct netbsd32_semid_ds14 *osembuf)
 {
 
-	memset(omsemuf, 0, sizeof *osembuf);
+	memset(osembuf, 0, sizeof *osembuf);
 	native_to_netbsd32_ipc_perm14(>sem_perm, >sem_perm);
 
 #define	CVT(x)	osembuf->x = sembuf->x
@@ -177,7 +177,7 @@ static inline void
 native_to_netbsd32_shmid_ds14(struct shmid_ds *shmbuf, struct netbsd32_shmid_ds14 *oshmbuf)
 {
 
-	memset(omshmuf, 0, sizeof *oshmbuf);
+	memset(oshmbuf, 0, sizeof *oshmbuf);
 	native_to_netbsd32_ipc_perm14(>shm_perm, >shm_perm);
 
 #define	CVT(x)	oshmbuf->x = shmbuf->x



CVS commit: src/sys/compat/netbsd32

2019-02-19 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Wed Feb 20 06:04:28 UTC 2019

Modified Files:
src/sys/compat/netbsd32: netbsd32.h

Log Message:
use KASSERTMSG() in netbsd32_ptr32i().


To generate a diff of this commit:
cvs rdiff -u -r1.122 -r1.123 src/sys/compat/netbsd32/netbsd32.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32.h
diff -u src/sys/compat/netbsd32/netbsd32.h:1.122 src/sys/compat/netbsd32/netbsd32.h:1.123
--- src/sys/compat/netbsd32/netbsd32.h:1.122	Sat Feb  9 11:30:13 2019
+++ src/sys/compat/netbsd32/netbsd32.h	Wed Feb 20 06:04:28 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32.h,v 1.122 2019/02/09 11:30:13 mrg Exp $	*/
+/*	$NetBSD: netbsd32.h,v 1.123 2019/02/20 06:04:28 mrg Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001, 2008, 2015 Matthew R. Green
@@ -128,7 +128,9 @@ static __inline NETBSD32_POINTER_TYPE
 netbsd32_ptr32i(const void *p64)
 {
 	uintptr_t u64 = (uintptr_t)p64;
-	KASSERT(u64 == (NETBSD32_POINTER_TYPE)u64);
+	KASSERTMSG(u64 == (NETBSD32_POINTER_TYPE)u64, "u64 %llx != %llx",
+		   (unsigned long long)u64,
+		   (unsigned long long)(NETBSD32_POINTER_TYPE)u64);
 	return u64;
 }
 



CVS commit: src/sys/compat/netbsd32

2019-02-09 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Sat Feb  9 11:30:13 UTC 2019

Modified Files:
src/sys/compat/netbsd32: netbsd32.h

Log Message:
- expand the comment about what netbsd32_machdep.h should provide.
- add missing NETBSD32_POINTER_TYPE
- add static inline functions to convert pointers to/from 32 bit,
  inclusing an overflow check for NETBSD32PTR32PLUS().


To generate a diff of this commit:
cvs rdiff -u -r1.121 -r1.122 src/sys/compat/netbsd32/netbsd32.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32.h
diff -u src/sys/compat/netbsd32/netbsd32.h:1.121 src/sys/compat/netbsd32/netbsd32.h:1.122
--- src/sys/compat/netbsd32/netbsd32.h:1.121	Sun Jan 27 02:08:40 2019
+++ src/sys/compat/netbsd32/netbsd32.h	Sat Feb  9 11:30:13 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32.h,v 1.121 2019/01/27 02:08:40 pgoyette Exp $	*/
+/*	$NetBSD: netbsd32.h,v 1.122 2019/02/09 11:30:13 mrg Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001, 2008, 2015 Matthew R. Green
@@ -76,10 +76,16 @@ typedef uint32_t netbsd32_uintptr_t;
 
 /*
  * machine dependant section; must define:
- *	netbsd32_pointer_t
+ *	NETBSD32_POINTER_TYPE
  *		- 32-bit pointer type, normally uint32_t but can be int32_t
  *		  for platforms which rely on sign-extension of pointers
  *		  such as SH-5.
+ *eg:	#define NETBSD32_POINTER_TYPE uint32_t
+ *	netbsd32_pointer_t
+ *		- a typedef'd struct with the above as an "i32" member.
+ *eg:	typedef struct {
+ *NETBSD32_POINTER_TYPE i32;
+ *			} netbsd32_pointer_t;
  *	NETBSD32PTR64(p32)
  *		- Translate a 32-bit pointer into something valid in a
  *		  64-bit context.
@@ -100,11 +106,6 @@ typedef uint32_t netbsd32_uintptr_t;
  */
 #include 
 
-/* netbsd32_machdep.h will have (typically) defined:
-#define NETBSD32_POINTER_TYPE uint32_t
-typedef	struct { NETBSD32_POINTER_TYPE i32; } netbsd32_pointer_t;
-*/
-
 /*
  * Conversion functions for the rest of the compat32 code:
  *
@@ -119,12 +120,33 @@ typedef	struct { NETBSD32_POINTER_TYPE i
  */
 #define	NETBSD32PTR64(p32)		NETBSD32IPTR64((p32).i32)
 #define	NETBSD32PTR32(p32, p64)		((p32).i32 = NETBSD32PTR32I(p64))
-#define	NETBSD32PTR32PLUS(p32, incr)	((p32).i32 += incr)
+#define	NETBSD32PTR32PLUS(p32, incr)	netbsd32_ptr32_incr(, incr)
+#define	NETBSD32PTR32I(p32)		netbsd32_ptr32i(p32)
+#define	NETBSD32IPTR64(p32)		netbsd32_iptr64(p32)
 
 static __inline NETBSD32_POINTER_TYPE
-NETBSD32PTR32I(const void *p64) { return (uintptr_t)p64; }
+netbsd32_ptr32i(const void *p64)
+{
+	uintptr_t u64 = (uintptr_t)p64;
+	KASSERT(u64 == (NETBSD32_POINTER_TYPE)u64);
+	return u64;
+}
+
 static __inline void *
-NETBSD32IPTR64(NETBSD32_POINTER_TYPE p32) { return (void *)(intptr_t)p32; }
+netbsd32_iptr64(NETBSD32_POINTER_TYPE p32)
+{
+	return (void *)(intptr_t)p32;
+}
+
+static __inline netbsd32_pointer_t
+netbsd32_ptr32_incr(netbsd32_pointer_t *p32, uint32_t incr)
+{
+	netbsd32_pointer_t n32 = *p32;
+
+	n32.i32 += incr;
+	KASSERT(NETBSD32PTR64(n32) > NETBSD32PTR64(*p32));
+	return *p32 = n32;
+}
 
 /* Nothing should be using the raw type, so kill it */
 #undef NETBSD32_POINTER_TYPE



CVS commit: src/sys/compat/netbsd32

2019-01-31 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Thu Jan 31 16:03:50 UTC 2019

Modified Files:
src/sys/compat/netbsd32: netbsd32_module.c

Log Message:
remove unused variable


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/sys/compat/netbsd32/netbsd32_module.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_module.c
diff -u src/sys/compat/netbsd32/netbsd32_module.c:1.8 src/sys/compat/netbsd32/netbsd32_module.c:1.9
--- src/sys/compat/netbsd32/netbsd32_module.c:1.8	Sat Jan 26 21:08:40 2019
+++ src/sys/compat/netbsd32/netbsd32_module.c	Thu Jan 31 11:03:50 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_module.c,v 1.8 2019/01/27 02:08:40 pgoyette Exp $	*/
+/*	$NetBSD: netbsd32_module.c,v 1.9 2019/01/31 16:03:50 christos Exp $	*/
 
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -29,7 +29,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_module.c,v 1.8 2019/01/27 02:08:40 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_module.c,v 1.9 2019/01/31 16:03:50 christos Exp $");
 
 #include 
 #include 
@@ -48,7 +48,6 @@ modctl32_handle_stat(struct netbsd32_iov
 	int ms_cnt;
 	modstat_t *ms, *mso;
 	size_t ms_len;
-	int req_cnt;
 	char *req, *reqo;
 	size_t req_len;
 	char *out_p;
@@ -80,7 +79,6 @@ modctl32_handle_stat(struct netbsd32_iov
 		ms_cnt++;
 		mi = mod->mod_info;
 		if (mi->mi_required != NULL) {
-			req_cnt++;
 			req_len += strlen(mi->mi_required) + 1;
 		}
 	}
@@ -88,7 +86,6 @@ modctl32_handle_stat(struct netbsd32_iov
 		ms_cnt++;
 		mi = mod->mod_info;
 		if (mi->mi_required != NULL) {
-			req_cnt++;
 			req_len += strlen(mi->mi_required) + 1;
 		}
 	}



CVS commit: src/sys/compat/netbsd32

2019-01-29 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Wed Jan 30 02:00:02 UTC 2019

Modified Files:
src/sys/compat/netbsd32: netbsd32_compat_80.c

Log Message:
Remove #ifdef COMPAT_80

The file will only be selected if "options COMPAT_80" is defined in
the config file.  The COMPAT_80 macro is defined only if the option
is explicitly defined, and not if it is implicitly defined due to
inclusion of lesser-version COMPATs.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/compat/netbsd32/netbsd32_compat_80.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_compat_80.c
diff -u src/sys/compat/netbsd32/netbsd32_compat_80.c:1.3 src/sys/compat/netbsd32/netbsd32_compat_80.c:1.4
--- src/sys/compat/netbsd32/netbsd32_compat_80.c:1.3	Mon Jan 28 01:09:52 2019
+++ src/sys/compat/netbsd32/netbsd32_compat_80.c	Wed Jan 30 02:00:02 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_compat_80.c,v 1.3 2019/01/28 01:09:52 pgoyette Exp $	*/
+/*	$NetBSD: netbsd32_compat_80.c,v 1.4 2019/01/30 02:00:02 pgoyette Exp $	*/
 
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -29,7 +29,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_80.c,v 1.3 2019/01/28 01:09:52 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_80.c,v 1.4 2019/01/30 02:00:02 pgoyette Exp $");
 
 #include 
 #include 
@@ -46,8 +46,6 @@ __KERNEL_RCSID(0, "$NetBSD: netbsd32_com
 #include 
 #include 
 
-#ifdef COMPAT_80
-
 int netbsd32_80_modctl(struct lwp *, const struct netbsd32_modctl_args *,
 	register_t *);
 
@@ -197,4 +195,3 @@ compat_netbsd32_80_modcmd(modcmd_t cmd, 
 		return ENOTTY;
 	}
 }
-#endif	/* COMPAT_80 */



CVS commit: src/sys/compat/netbsd32

2019-01-28 Thread Michael van Elst
Module Name:src
Committed By:   mlelstv
Date:   Mon Jan 28 18:53:52 UTC 2019

Modified Files:
src/sys/compat/netbsd32: netbsd32_compat_40.c

Log Message:
add missing includes


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/compat/netbsd32/netbsd32_compat_40.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_compat_40.c
diff -u src/sys/compat/netbsd32/netbsd32_compat_40.c:1.3 src/sys/compat/netbsd32/netbsd32_compat_40.c:1.4
--- src/sys/compat/netbsd32/netbsd32_compat_40.c:1.3	Mon Jan 28 13:13:02 2019
+++ src/sys/compat/netbsd32/netbsd32_compat_40.c	Mon Jan 28 18:53:52 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_compat_40.c,v 1.3 2019/01/28 13:13:02 pgoyette Exp $	*/
+/*	$NetBSD: netbsd32_compat_40.c,v 1.4 2019/01/28 18:53:52 mlelstv Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001, 2008, 2018 Matthew R. Green
@@ -29,11 +29,13 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_40.c,v 1.3 2019/01/28 13:13:02 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_40.c,v 1.4 2019/01/28 18:53:52 mlelstv Exp $");
 
 #include 
 #include 
+#include 
 #include 
+#include 
 #include 
 
 #include 



CVS commit: src/sys/compat/netbsd32

2019-01-28 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Mon Jan 28 13:13:02 UTC 2019

Modified Files:
src/sys/compat/netbsd32: netbsd32_compat_40.c

Log Message:
Add the appropriate module glue.  Seems to have gotten lost during
the merge.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/compat/netbsd32/netbsd32_compat_40.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_compat_40.c
diff -u src/sys/compat/netbsd32/netbsd32_compat_40.c:1.2 src/sys/compat/netbsd32/netbsd32_compat_40.c:1.3
--- src/sys/compat/netbsd32/netbsd32_compat_40.c:1.2	Mon Dec 24 21:27:05 2018
+++ src/sys/compat/netbsd32/netbsd32_compat_40.c	Mon Jan 28 13:13:02 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_compat_40.c,v 1.2 2018/12/24 21:27:05 mrg Exp $	*/
+/*	$NetBSD: netbsd32_compat_40.c,v 1.3 2019/01/28 13:13:02 pgoyette Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001, 2008, 2018 Matthew R. Green
@@ -29,7 +29,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_40.c,v 1.2 2018/12/24 21:27:05 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_40.c,v 1.3 2019/01/28 13:13:02 pgoyette Exp $");
 
 #include 
 #include 
@@ -61,3 +61,30 @@ compat_40_netbsd32_mount(struct lwp *l,
 
 	return compat_40_sys_mount(l, , retval);
 }
+
+static struct syscall_package compat_netbsd32_40_syscalls[] = {
+	{ NETBSD32_SYS_compat_40_netbsd32_mount, 0,
+	(sy_call_t *)compat_40_netbsd32_mount },
+	{ 0, 0, NULL }
+};
+
+MODULE(MODULE_CLASS_EXEC, compat_netbsd32_40, "compat_netbsd32_50,compat_40");
+ 
+static int
+compat_netbsd32_40_modcmd(modcmd_t cmd, void *arg)
+{
+ 
+	switch (cmd) {
+	case MODULE_CMD_INIT:
+		return syscall_establish(_netbsd32,
+		compat_netbsd32_40_syscalls);
+ 
+	case MODULE_CMD_FINI:
+		return syscall_disestablish(_netbsd32,
+		compat_netbsd32_40_syscalls);
+
+	default:
+		return ENOTTY;
+	}
+}
+



CVS commit: src/sys/compat/netbsd32

2019-01-27 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Mon Jan 28 01:09:52 UTC 2019

Modified Files:
src/sys/compat/netbsd32: netbsd32_compat_80.c

Log Message:
Include new compatability header


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/compat/netbsd32/netbsd32_compat_80.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_compat_80.c
diff -u src/sys/compat/netbsd32/netbsd32_compat_80.c:1.2 src/sys/compat/netbsd32/netbsd32_compat_80.c:1.3
--- src/sys/compat/netbsd32/netbsd32_compat_80.c:1.2	Sun Jan 27 02:08:40 2019
+++ src/sys/compat/netbsd32/netbsd32_compat_80.c	Mon Jan 28 01:09:52 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_compat_80.c,v 1.2 2019/01/27 02:08:40 pgoyette Exp $	*/
+/*	$NetBSD: netbsd32_compat_80.c,v 1.3 2019/01/28 01:09:52 pgoyette Exp $	*/
 
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -29,7 +29,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_80.c,v 1.2 2019/01/27 02:08:40 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_80.c,v 1.3 2019/01/28 01:09:52 pgoyette Exp $");
 
 #include 
 #include 
@@ -39,6 +39,8 @@ __KERNEL_RCSID(0, "$NetBSD: netbsd32_com
 
 #include 
 
+#include 
+
 #include 
 #include 
 #include 



CVS commit: src/sys/compat/netbsd32

2019-01-26 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Jan 27 02:55:02 UTC 2019

Modified Files:
src/sys/compat/netbsd32: files.netbsd32

Log Message:
remove dup


To generate a diff of this commit:
cvs rdiff -u -r1.43 -r1.44 src/sys/compat/netbsd32/files.netbsd32

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/files.netbsd32
diff -u src/sys/compat/netbsd32/files.netbsd32:1.43 src/sys/compat/netbsd32/files.netbsd32:1.44
--- src/sys/compat/netbsd32/files.netbsd32:1.43	Sat Jan 26 21:08:40 2019
+++ src/sys/compat/netbsd32/files.netbsd32	Sat Jan 26 21:55:02 2019
@@ -1,4 +1,4 @@
-#	$NetBSD: files.netbsd32,v 1.43 2019/01/27 02:08:40 pgoyette Exp $
+#	$NetBSD: files.netbsd32,v 1.44 2019/01/27 02:55:02 christos Exp $
 #
 # config file description for machine-independent netbsd32 compat code.
 # included by ports that need it.
@@ -49,7 +49,6 @@ file	compat/netbsd32/netbsd32_compat_20.
 file	compat/netbsd32/netbsd32_compat_30.c	compat_netbsd32 & compat_30
 file	compat/netbsd32/netbsd32_compat_40.c	compat_netbsd32 & compat_40
 file	compat/netbsd32/netbsd32_compat_43.c	compat_netbsd32 & (compat_43 | compat_sunos | compat_linux32)
-file	compat/netbsd32/netbsd32_compat_40.c	compat_netbsd32 & compat_40
 file	compat/netbsd32/netbsd32_compat_50.c	compat_netbsd32 & compat_50
 file	compat/netbsd32/netbsd32_rndpseudo_50.c	compat_netbsd32 & compat_50
 file	compat/netbsd32/netbsd32_compat_50_sysv.c compat_netbsd32 & compat_50 &



CVS commit: src/sys/compat/netbsd32

2018-12-26 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Wed Dec 26 08:01:40 UTC 2018

Modified Files:
src/sys/compat/netbsd32: netbsd32_compat_50.c netbsd32_fs.c
netbsd32_mod.c

Log Message:
remove duplicated prototypes and dated XXX comments.


To generate a diff of this commit:
cvs rdiff -u -r1.32 -r1.33 src/sys/compat/netbsd32/netbsd32_compat_50.c
cvs rdiff -u -r1.81 -r1.82 src/sys/compat/netbsd32/netbsd32_fs.c
cvs rdiff -u -r1.13 -r1.14 src/sys/compat/netbsd32/netbsd32_mod.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_compat_50.c
diff -u src/sys/compat/netbsd32/netbsd32_compat_50.c:1.32 src/sys/compat/netbsd32/netbsd32_compat_50.c:1.33
--- src/sys/compat/netbsd32/netbsd32_compat_50.c:1.32	Thu Dec  3 10:38:21 2015
+++ src/sys/compat/netbsd32/netbsd32_compat_50.c	Wed Dec 26 08:01:40 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_compat_50.c,v 1.32 2015/12/03 10:38:21 pgoyette Exp $	*/
+/*	$NetBSD: netbsd32_compat_50.c,v 1.33 2018/12/26 08:01:40 mrg Exp $	*/
 
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -36,7 +36,7 @@
  * POSSIBILITY OF SUCH DAMAGE.
  */
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_50.c,v 1.32 2015/12/03 10:38:21 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_50.c,v 1.33 2018/12/26 08:01:40 mrg Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_compat_netbsd.h"
@@ -504,7 +504,7 @@ compat_50_netbsd32___sigtimedwait(struct
 	compat_50_netbsd32_sigtimedwait_fetch_timeout,
 	compat_50_netbsd32_sigtimedwait_put_timeout);
 	if (!res)
-		*retval = 0; /* XXX NetBSD<=5 was not POSIX compliant */
+		*retval = 0; /* NetBSD<=5 was not POSIX compliant */
 	return res;
 }
 

Index: src/sys/compat/netbsd32/netbsd32_fs.c
diff -u src/sys/compat/netbsd32/netbsd32_fs.c:1.81 src/sys/compat/netbsd32/netbsd32_fs.c:1.82
--- src/sys/compat/netbsd32/netbsd32_fs.c:1.81	Sat Aug 11 03:41:06 2018
+++ src/sys/compat/netbsd32/netbsd32_fs.c	Wed Dec 26 08:01:40 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_fs.c,v 1.81 2018/08/11 03:41:06 mrg Exp $	*/
+/*	$NetBSD: netbsd32_fs.c,v 1.82 2018/12/26 08:01:40 mrg Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_fs.c,v 1.81 2018/08/11 03:41:06 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_fs.c,v 1.82 2018/12/26 08:01:40 mrg Exp $");
 
 #include 
 #include 
@@ -727,11 +727,6 @@ out:
  * Use vfs vnode-to-name reverse cache; if that fails, fall back
  * to reading directory contents.
  */
-/* XXX NH Why does this exist */
-int
-getcwd_common(struct vnode *, struct vnode *,
-		   char **, char *, int, int, struct lwp *);
-
 int
 netbsd32___getcwd(struct lwp *l, const struct netbsd32___getcwd_args *uap, register_t *retval)
 {
@@ -1258,7 +1253,7 @@ netbsd32_utimensat(struct lwp *l, const 
 		syscallarg(netbsd32_timespecp_t) tptr;
 		syscallarg(int) flag;
 	} */
-	struct timespec ts[2], *tsp = NULL /* XXXgcc */;
+	struct timespec ts[2], *tsp;
 	int follow;
 	int error;
 
@@ -1356,7 +1351,7 @@ netbsd32_futimens(struct lwp *l, const s
 		syscallarg(int) fd;
 		syscallarg(netbsd32_timespecp_t) tptr;
 	} */
-	struct timespec ts[2], *tsp = NULL /* XXXgcc */;
+	struct timespec ts[2], *tsp;
 	file_t *fp;
 	int error;
 

Index: src/sys/compat/netbsd32/netbsd32_mod.c
diff -u src/sys/compat/netbsd32/netbsd32_mod.c:1.13 src/sys/compat/netbsd32/netbsd32_mod.c:1.14
--- src/sys/compat/netbsd32/netbsd32_mod.c:1.13	Thu Dec  3 02:51:01 2015
+++ src/sys/compat/netbsd32/netbsd32_mod.c	Wed Dec 26 08:01:40 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_mod.c,v 1.13 2015/12/03 02:51:01 pgoyette Exp $	*/
+/*	$NetBSD: netbsd32_mod.c,v 1.14 2018/12/26 08:01:40 mrg Exp $	*/
 
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_mod.c,v 1.13 2015/12/03 02:51:01 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_mod.c,v 1.14 2018/12/26 08:01:40 mrg Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_execfmt.h"
@@ -91,7 +91,7 @@ static struct execsw netbsd32_execsw[] =
 		.es_copyargs = netbsd32_elf32_copyargs,
 		.es_setregs = NULL,
 		.es_coredump = coredump_elf32,
-		.es_setup_stack = exec_setup_stack,	/* XXX XXX XXX */
+		.es_setup_stack = exec_setup_stack,
 	},
 #endif
 };



CVS commit: src/sys/compat/netbsd32

2018-12-24 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Dec 24 22:47:19 UTC 2018

Modified Files:
src/sys/compat/netbsd32: files.netbsd32

Log Message:
quotactl is always included, regardless of options QUOTA.


To generate a diff of this commit:
cvs rdiff -u -r1.41 -r1.42 src/sys/compat/netbsd32/files.netbsd32

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/files.netbsd32
diff -u src/sys/compat/netbsd32/files.netbsd32:1.41 src/sys/compat/netbsd32/files.netbsd32:1.42
--- src/sys/compat/netbsd32/files.netbsd32:1.41	Mon Dec 24 21:27:05 2018
+++ src/sys/compat/netbsd32/files.netbsd32	Mon Dec 24 22:47:19 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: files.netbsd32,v 1.41 2018/12/24 21:27:05 mrg Exp $
+#	$NetBSD: files.netbsd32,v 1.42 2018/12/24 22:47:19 mrg Exp $
 #
 # config file description for machine-independent netbsd32 compat code.
 # included by ports that need it.
@@ -24,7 +24,7 @@ file	compat/netbsd32/netbsd32_mqueue.c	c
 file	compat/netbsd32/netbsd32_nfssvc.c	compat_netbsd32 & nfsserver
 file	compat/netbsd32/netbsd32_ptrace.c	compat_netbsd32 & ptrace
 file	compat/netbsd32/netbsd32_rlimit.c	compat_netbsd32
-file	compat/netbsd32/netbsd32_quota.c	compat_netbsd32 & quota
+file	compat/netbsd32/netbsd32_quota.c	compat_netbsd32
 file	compat/netbsd32/netbsd32_select.c	compat_netbsd32
 file	compat/netbsd32/netbsd32_sem.c		compat_netbsd32
 file	compat/netbsd32/netbsd32_signal.c	compat_netbsd32



CVS commit: src/sys/compat/netbsd32

2018-12-24 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Dec 24 21:27:37 UTC 2018

Modified Files:
src/sys/compat/netbsd32: netbsd32_syscall.h netbsd32_syscallargs.h
netbsd32_syscalls.c netbsd32_syscalls_autoload.c netbsd32_sysent.c
netbsd32_systrace_args.c

Log Message:
regen.


To generate a diff of this commit:
cvs rdiff -u -r1.138 -r1.139 src/sys/compat/netbsd32/netbsd32_syscall.h
cvs rdiff -u -r1.137 -r1.138 src/sys/compat/netbsd32/netbsd32_syscallargs.h \
src/sys/compat/netbsd32/netbsd32_syscalls.c
cvs rdiff -u -r1.17 -r1.18 \
src/sys/compat/netbsd32/netbsd32_syscalls_autoload.c
cvs rdiff -u -r1.136 -r1.137 src/sys/compat/netbsd32/netbsd32_sysent.c
cvs rdiff -u -r1.28 -r1.29 src/sys/compat/netbsd32/netbsd32_systrace_args.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_syscall.h
diff -u src/sys/compat/netbsd32/netbsd32_syscall.h:1.138 src/sys/compat/netbsd32/netbsd32_syscall.h:1.139
--- src/sys/compat/netbsd32/netbsd32_syscall.h:1.138	Fri Aug 10 21:47:15 2018
+++ src/sys/compat/netbsd32/netbsd32_syscall.h	Mon Dec 24 21:27:37 2018
@@ -1,10 +1,10 @@
-/* $NetBSD: netbsd32_syscall.h,v 1.138 2018/08/10 21:47:15 pgoyette Exp $ */
+/* $NetBSD: netbsd32_syscall.h,v 1.139 2018/12/24 21:27:37 mrg Exp $ */
 
 /*
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.123 2018/07/31 21:00:02 rjs Exp
+ * created from	NetBSD: syscalls.master,v 1.124 2018/12/24 21:27:06 mrg Exp
  */
 
 #ifndef _NETBSD32_SYS_SYSCALL_H_
@@ -73,8 +73,8 @@
 /* syscall: "getpid" ret: "pid_t" args: */
 #define	NETBSD32_SYS_getpid	20
 
-/* syscall: "netbsd32_mount" ret: "int" args: "netbsd32_charp" "netbsd32_charp" "int" "netbsd32_voidp" */
-#define	NETBSD32_SYS_netbsd32_mount	21
+/* syscall: "compat_40_netbsd32_mount" ret: "int" args: "netbsd32_charp" "netbsd32_charp" "int" "netbsd32_voidp" */
+#define	NETBSD32_SYS_compat_40_netbsd32_mount	21
 
 /* syscall: "netbsd32_unmount" ret: "int" args: "netbsd32_charp" "int" */
 #define	NETBSD32_SYS_netbsd32_unmount	22

Index: src/sys/compat/netbsd32/netbsd32_syscallargs.h
diff -u src/sys/compat/netbsd32/netbsd32_syscallargs.h:1.137 src/sys/compat/netbsd32/netbsd32_syscallargs.h:1.138
--- src/sys/compat/netbsd32/netbsd32_syscallargs.h:1.137	Fri Aug 10 21:47:15 2018
+++ src/sys/compat/netbsd32/netbsd32_syscallargs.h	Mon Dec 24 21:27:37 2018
@@ -1,10 +1,10 @@
-/* $NetBSD: netbsd32_syscallargs.h,v 1.137 2018/08/10 21:47:15 pgoyette Exp $ */
+/* $NetBSD: netbsd32_syscallargs.h,v 1.138 2018/12/24 21:27:37 mrg Exp $ */
 
 /*
  * System call argument lists.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.123 2018/07/31 21:00:02 rjs Exp
+ * created from	NetBSD: syscalls.master,v 1.124 2018/12/24 21:27:06 mrg Exp
  */
 
 #ifndef _NETBSD32_SYS_SYSCALLARGS_H_
@@ -144,13 +144,13 @@ struct compat_43_netbsd32_olseek_args {
 };
 check_syscall_args(compat_43_netbsd32_olseek)
 
-struct netbsd32_mount_args {
+struct compat_40_netbsd32_mount_args {
 	syscallarg(netbsd32_charp) type;
 	syscallarg(netbsd32_charp) path;
 	syscallarg(int) flags;
 	syscallarg(netbsd32_voidp) data;
 };
-check_syscall_args(netbsd32_mount)
+check_syscall_args(compat_40_netbsd32_mount)
 
 struct netbsd32_unmount_args {
 	syscallarg(netbsd32_charp) path;
@@ -2663,7 +2663,7 @@ int	compat_43_netbsd32_olseek(struct lwp
 
 int	sys_getpid(struct lwp *, const void *, register_t *);
 
-int	netbsd32_mount(struct lwp *, const struct netbsd32_mount_args *, register_t *);
+int	compat_40_netbsd32_mount(struct lwp *, const struct compat_40_netbsd32_mount_args *, register_t *);
 
 int	netbsd32_unmount(struct lwp *, const struct netbsd32_unmount_args *, register_t *);
 
Index: src/sys/compat/netbsd32/netbsd32_syscalls.c
diff -u src/sys/compat/netbsd32/netbsd32_syscalls.c:1.137 src/sys/compat/netbsd32/netbsd32_syscalls.c:1.138
--- src/sys/compat/netbsd32/netbsd32_syscalls.c:1.137	Mon Dec 24 21:27:06 2018
+++ src/sys/compat/netbsd32/netbsd32_syscalls.c	Mon Dec 24 21:27:37 2018
@@ -1,14 +1,14 @@
-/* $NetBSD: netbsd32_syscalls.c,v 1.137 2018/12/24 21:27:06 mrg Exp $ */
+/* $NetBSD: netbsd32_syscalls.c,v 1.138 2018/12/24 21:27:37 mrg Exp $ */
 
 /*
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.123 2018/07/31 21:00:02 rjs Exp
+ * created from	NetBSD: syscalls.master,v 1.124 2018/12/24 21:27:06 mrg Exp
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_syscalls.c,v 1.137 2018/12/24 21:27:06 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_syscalls.c,v 1.138 2018/12/24 21:27:37 mrg Exp $");
 
 #if defined(_KERNEL_OPT)
 #if defined(_KERNEL_OPT)

Index: src/sys/compat/netbsd32/netbsd32_syscalls_autoload.c
diff -u src/sys/compat/netbsd32/netbsd32_syscalls_autoload.c:1.17 

CVS commit: src/sys/compat/netbsd32

2018-12-24 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Dec 24 21:27:06 UTC 2018

Modified Files:
src/sys/compat/netbsd32: files.netbsd32 netbsd32_netbsd.c
netbsd32_syscalls.c netbsd32_syscalls_autoload.c netbsd32_sysent.c
netbsd32_systrace_args.c syscalls.master
Added Files:
src/sys/compat/netbsd32: netbsd32_compat_40.c netbsd32_fd.c
netbsd32_vm.c

Log Message:
move mmap(), compat 40 mount(), pipe() and getfh() into their own files
as the implementation is non trivial or is compat.  mark old mount()
properly instead of manually #if'ing ito to ENOSYS.


To generate a diff of this commit:
cvs rdiff -u -r1.40 -r1.41 src/sys/compat/netbsd32/files.netbsd32
cvs rdiff -u -r0 -r1.2 src/sys/compat/netbsd32/netbsd32_compat_40.c
cvs rdiff -u -r0 -r1.1 src/sys/compat/netbsd32/netbsd32_fd.c \
src/sys/compat/netbsd32/netbsd32_vm.c
cvs rdiff -u -r1.221 -r1.222 src/sys/compat/netbsd32/netbsd32_netbsd.c
cvs rdiff -u -r1.136 -r1.137 src/sys/compat/netbsd32/netbsd32_syscalls.c
cvs rdiff -u -r1.16 -r1.17 \
src/sys/compat/netbsd32/netbsd32_syscalls_autoload.c
cvs rdiff -u -r1.135 -r1.136 src/sys/compat/netbsd32/netbsd32_sysent.c
cvs rdiff -u -r1.27 -r1.28 src/sys/compat/netbsd32/netbsd32_systrace_args.c
cvs rdiff -u -r1.123 -r1.124 src/sys/compat/netbsd32/syscalls.master

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/files.netbsd32
diff -u src/sys/compat/netbsd32/files.netbsd32:1.40 src/sys/compat/netbsd32/files.netbsd32:1.41
--- src/sys/compat/netbsd32/files.netbsd32:1.40	Mon Dec 24 20:44:39 2018
+++ src/sys/compat/netbsd32/files.netbsd32	Mon Dec 24 21:27:05 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: files.netbsd32,v 1.40 2018/12/24 20:44:39 mrg Exp $
+#	$NetBSD: files.netbsd32,v 1.41 2018/12/24 21:27:05 mrg Exp $
 #
 # config file description for machine-independent netbsd32 compat code.
 # included by ports that need it.
@@ -13,6 +13,7 @@ file	compat/netbsd32/netbsd32_exec_aout.
 file	compat/netbsd32/netbsd32_netbsd.c	compat_netbsd32
 file	compat/netbsd32/netbsd32_event.c	compat_netbsd32
 file	compat/netbsd32/netbsd32_execve.c	compat_netbsd32
+file	compat/netbsd32/netbsd32_fd.c		compat_netbsd32
 file	compat/netbsd32/netbsd32_fs.c		compat_netbsd32
 file	compat/netbsd32/netbsd32_ioctl.c	compat_netbsd32
 file	compat/netbsd32/netbsd32_ipc.c		compat_netbsd32
@@ -31,6 +32,7 @@ file	compat/netbsd32/netbsd32_socket.c	c
 file	compat/netbsd32/netbsd32_sysctl.c	compat_netbsd32
 file	compat/netbsd32/netbsd32_time.c		compat_netbsd32
 file	compat/netbsd32/netbsd32_wait.c		compat_netbsd32
+file	compat/netbsd32/netbsd32_vm.c		compat_netbsd32
 file	compat/netbsd32/netbsd32_sysent.c	compat_netbsd32
 file	compat/netbsd32/netbsd32_syscalls.c	compat_netbsd32 & syscall_debug
 
@@ -42,6 +44,7 @@ file	compat/netbsd32/netbsd32_compat_14.
 file	compat/netbsd32/netbsd32_compat_20.c	compat_netbsd32 & compat_20
 file	compat/netbsd32/netbsd32_compat_30.c	compat_netbsd32 & compat_30
 file	compat/netbsd32/netbsd32_compat_43.c	compat_netbsd32 & (compat_43 | compat_sunos | compat_linux32)
+file	compat/netbsd32/netbsd32_compat_40.c	compat_netbsd32 & compat_40
 file	compat/netbsd32/netbsd32_compat_50.c	compat_netbsd32 & compat_50
 file	compat/netbsd32/netbsd32_compat_50_sysv.c compat_netbsd32 & compat_50 &
 		(sysvmsg | sysvsem | sysvshm)

Index: src/sys/compat/netbsd32/netbsd32_netbsd.c
diff -u src/sys/compat/netbsd32/netbsd32_netbsd.c:1.221 src/sys/compat/netbsd32/netbsd32_netbsd.c:1.222
--- src/sys/compat/netbsd32/netbsd32_netbsd.c:1.221	Mon Dec 24 20:44:39 2018
+++ src/sys/compat/netbsd32/netbsd32_netbsd.c	Mon Dec 24 21:27:05 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_netbsd.c,v 1.221 2018/12/24 20:44:39 mrg Exp $	*/
+/*	$NetBSD: netbsd32_netbsd.c,v 1.222 2018/12/24 21:27:05 mrg Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001, 2008, 2018 Matthew R. Green
@@ -27,15 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_netbsd.c,v 1.221 2018/12/24 20:44:39 mrg Exp $");
-
-/*
- * below are all the standard NetBSD system calls, in the 32bit
- * environment, with the necessary conversions to 64bit before calling
- * the real syscall.  anything that needs special attention is handled
- * elsewhere - this file should only contain structure assignment and
- * calls to the original function.
- */
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_netbsd.c,v 1.222 2018/12/24 21:27:05 mrg Exp $");
 
 /*
  * below are all the standard NetBSD system calls, in the 32bit
@@ -73,13 +65,11 @@ __KERNEL_RCSID(0, "$NetBSD: netbsd32_net
 #include 
 #include 
 #include 
-#include 
 #include 
 #include 
 #include 
 #include 
 #include 
-#include 
 #include 
 
 #include 
@@ -365,30 +355,6 @@ netbsd32_break(struct lwp *l, const stru
 	return sys_obreak(l, , retval);
 }
 
-// XXX move into compat_40
-int
-netbsd32_mount(struct lwp *l, const struct netbsd32_mount_args *uap, register_t *retval)
-{
-#ifdef COMPAT_40
-	

CVS commit: src/sys/compat/netbsd32

2018-12-24 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Dec 24 20:44:39 UTC 2018

Modified Files:
src/sys/compat/netbsd32: files.netbsd32 netbsd32_netbsd.c
Added Files:
src/sys/compat/netbsd32: netbsd32_quota.c netbsd32_rlimit.c

Log Message:
move rlimit and quota code into their own modules.

(netbsd32_netbsd.c should have only simple shims.  anything more
than copying arguments from one args struct to the other should
not be placed in this file.  still a couple more to move out.)


To generate a diff of this commit:
cvs rdiff -u -r1.39 -r1.40 src/sys/compat/netbsd32/files.netbsd32
cvs rdiff -u -r1.220 -r1.221 src/sys/compat/netbsd32/netbsd32_netbsd.c
cvs rdiff -u -r0 -r1.1 src/sys/compat/netbsd32/netbsd32_quota.c \
src/sys/compat/netbsd32/netbsd32_rlimit.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/files.netbsd32
diff -u src/sys/compat/netbsd32/files.netbsd32:1.39 src/sys/compat/netbsd32/files.netbsd32:1.40
--- src/sys/compat/netbsd32/files.netbsd32:1.39	Wed Oct 19 09:44:01 2016
+++ src/sys/compat/netbsd32/files.netbsd32	Mon Dec 24 20:44:39 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: files.netbsd32,v 1.39 2016/10/19 09:44:01 skrll Exp $
+#	$NetBSD: files.netbsd32,v 1.40 2018/12/24 20:44:39 mrg Exp $
 #
 # config file description for machine-independent netbsd32 compat code.
 # included by ports that need it.
@@ -22,6 +22,8 @@ file	compat/netbsd32/netbsd32_mod.c		com
 file	compat/netbsd32/netbsd32_mqueue.c	compat_netbsd32 & mqueue
 file	compat/netbsd32/netbsd32_nfssvc.c	compat_netbsd32 & nfsserver
 file	compat/netbsd32/netbsd32_ptrace.c	compat_netbsd32 & ptrace
+file	compat/netbsd32/netbsd32_rlimit.c	compat_netbsd32
+file	compat/netbsd32/netbsd32_quota.c	compat_netbsd32 & quota
 file	compat/netbsd32/netbsd32_select.c	compat_netbsd32
 file	compat/netbsd32/netbsd32_sem.c		compat_netbsd32
 file	compat/netbsd32/netbsd32_signal.c	compat_netbsd32

Index: src/sys/compat/netbsd32/netbsd32_netbsd.c
diff -u src/sys/compat/netbsd32/netbsd32_netbsd.c:1.220 src/sys/compat/netbsd32/netbsd32_netbsd.c:1.221
--- src/sys/compat/netbsd32/netbsd32_netbsd.c:1.220	Mon Dec 24 20:39:17 2018
+++ src/sys/compat/netbsd32/netbsd32_netbsd.c	Mon Dec 24 20:44:39 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_netbsd.c,v 1.220 2018/12/24 20:39:17 mrg Exp $	*/
+/*	$NetBSD: netbsd32_netbsd.c,v 1.221 2018/12/24 20:44:39 mrg Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001, 2008, 2018 Matthew R. Green
@@ -27,7 +27,15 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_netbsd.c,v 1.220 2018/12/24 20:39:17 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_netbsd.c,v 1.221 2018/12/24 20:44:39 mrg Exp $");
+
+/*
+ * below are all the standard NetBSD system calls, in the 32bit
+ * environment, with the necessary conversions to 64bit before calling
+ * the real syscall.  anything that needs special attention is handled
+ * elsewhere - this file should only contain structure assignment and
+ * calls to the original function.
+ */
 
 /*
  * below are all the standard NetBSD system calls, in the 32bit
@@ -1206,100 +1214,7 @@ netbsd32_rmdir(struct lwp *l, const stru
 	return sys_rmdir(l, , retval);
 }
 
-int
-netbsd32___quotactl(struct lwp *l, const struct netbsd32___quotactl_args *uap, register_t *retval)
-{
-	/* {
-		syscallarg(const netbsd32_charp) path;
-		syscallarg(netbsd32_voidp) args;
-	} */
-	struct netbsd32_quotactlargs args32;
-	struct quotactl_args args;
-	int error;
-
-	error = copyin(SCARG_P32(uap, args), , sizeof(args32));
-	if (error) {
-		return error;
-	}
-
-	args.qc_op = args32.qc_op;
-	switch (args.qc_op) {
-	case QUOTACTL_STAT:
-		args.u.stat.qc_info = NETBSD32PTR64(args32.u.stat.qc_info);
-		break;
-	case QUOTACTL_IDTYPESTAT:
-		args.u.idtypestat.qc_idtype = args32.u.idtypestat.qc_idtype;
-		args.u.idtypestat.qc_info =
-			NETBSD32PTR64(args32.u.idtypestat.qc_info);
-		break;
-	case QUOTACTL_OBJTYPESTAT:
-		args.u.objtypestat.qc_objtype =
-			args32.u.objtypestat.qc_objtype;
-		args.u.objtypestat.qc_info =
-			NETBSD32PTR64(args32.u.objtypestat.qc_info);
-		break;
-	case QUOTACTL_GET:
-		args.u.get.qc_key = NETBSD32PTR64(args32.u.get.qc_key);
-		args.u.get.qc_val = NETBSD32PTR64(args32.u.get.qc_val);
-		break;
-	case QUOTACTL_PUT:
-		args.u.put.qc_key = NETBSD32PTR64(args32.u.put.qc_key);
-		args.u.put.qc_val = NETBSD32PTR64(args32.u.put.qc_val);
-		break;
-	case QUOTACTL_DEL:
-		args.u.del.qc_key = NETBSD32PTR64(args32.u.del.qc_key);
-		break;
-	case QUOTACTL_CURSOROPEN:
-		args.u.cursoropen.qc_cursor =
-			NETBSD32PTR64(args32.u.cursoropen.qc_cursor);
-		break;
-	case QUOTACTL_CURSORCLOSE:
-		args.u.cursorclose.qc_cursor =
-			NETBSD32PTR64(args32.u.cursorclose.qc_cursor);
-		break;
-	case QUOTACTL_CURSORSKIPIDTYPE:
-		args.u.cursorskipidtype.qc_cursor =
-			NETBSD32PTR64(args32.u.cursorskipidtype.qc_cursor);
-		args.u.cursorskipidtype.qc_idtype =
-			

CVS commit: src/sys/compat/netbsd32

2018-12-24 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Dec 24 20:39:17 UTC 2018

Modified Files:
src/sys/compat/netbsd32: netbsd32_netbsd.c

Log Message:
fix style consistency.
remove obsolete comments or commented code.
NFC.


To generate a diff of this commit:
cvs rdiff -u -r1.219 -r1.220 src/sys/compat/netbsd32/netbsd32_netbsd.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_netbsd.c
diff -u src/sys/compat/netbsd32/netbsd32_netbsd.c:1.219 src/sys/compat/netbsd32/netbsd32_netbsd.c:1.220
--- src/sys/compat/netbsd32/netbsd32_netbsd.c:1.219	Mon Dec 24 20:27:57 2018
+++ src/sys/compat/netbsd32/netbsd32_netbsd.c	Mon Dec 24 20:39:17 2018
@@ -1,7 +1,7 @@
-/*	$NetBSD: netbsd32_netbsd.c,v 1.219 2018/12/24 20:27:57 mrg Exp $	*/
+/*	$NetBSD: netbsd32_netbsd.c,v 1.220 2018/12/24 20:39:17 mrg Exp $	*/
 
 /*
- * Copyright (c) 1998, 2001, 2008 Matthew R. Green
+ * Copyright (c) 1998, 2001, 2008, 2018 Matthew R. Green
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -27,7 +27,15 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_netbsd.c,v 1.219 2018/12/24 20:27:57 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_netbsd.c,v 1.220 2018/12/24 20:39:17 mrg Exp $");
+
+/*
+ * below are all the standard NetBSD system calls, in the 32bit
+ * environment, with the necessary conversions to 64bit before calling
+ * the real syscall.  anything that needs special attention is handled
+ * elsewhere - this file should only contain structure assignment and
+ * calls to the original function.
+ */
 
 #if defined(_KERNEL_OPT)
 #include "opt_ddb.h"
@@ -42,7 +50,6 @@ __KERNEL_RCSID(0, "$NetBSD: netbsd32_net
 #include 
 #include 
 #include 
-//#define msg __msg /* Don't ask me! */
 #include 
 #include 
 #include 
@@ -166,13 +173,6 @@ struct emul emul_netbsd32 = {
 #endif
 };
 
-/*
- * below are all the standard NetBSD system calls, in the 32bit
- * environment, with the necessary conversions to 64bit before
- * calling the real syscall.  anything that needs special
- * attention is handled elsewhere.
- */
-
 int
 netbsd32_exit(struct lwp *l, const struct netbsd32_exit_args *uap, register_t *retval)
 {
@@ -257,7 +257,7 @@ netbsd32_link(struct lwp *l, const struc
 
 	NETBSD32TOP_UAP(path, const char);
 	NETBSD32TOP_UAP(link, const char);
-	return (sys_link(l, , retval));
+	return sys_link(l, , retval);
 }
 
 int
@@ -270,7 +270,7 @@ netbsd32_unlink(struct lwp *l, const str
 
 	NETBSD32TOP_UAP(path, const char);
 
-	return (sys_unlink(l, , retval));
+	return sys_unlink(l, , retval);
 }
 
 int
@@ -283,7 +283,7 @@ netbsd32_chdir(struct lwp *l, const stru
 
 	NETBSD32TOP_UAP(path, const char);
 
-	return (sys_chdir(l, , retval));
+	return sys_chdir(l, , retval);
 }
 
 int
@@ -296,7 +296,7 @@ netbsd32_fchdir(struct lwp *l, const str
 
 	NETBSD32TO64_UAP(fd);
 
-	return (sys_fchdir(l, , retval));
+	return sys_fchdir(l, , retval);
 }
 
 int
@@ -324,7 +324,7 @@ netbsd32_chmod(struct lwp *l, const stru
 	NETBSD32TOP_UAP(path, const char);
 	NETBSD32TO64_UAP(mode);
 
-	return (sys_chmod(l, , retval));
+	return sys_chmod(l, , retval);
 }
 
 int
@@ -341,7 +341,7 @@ netbsd32_chown(struct lwp *l, const stru
 	NETBSD32TO64_UAP(uid);
 	NETBSD32TO64_UAP(gid);
 
-	return (sys_chown(l, , retval));
+	return sys_chown(l, , retval);
 }
 
 int
@@ -353,9 +353,11 @@ netbsd32_break(struct lwp *l, const stru
 	struct sys_obreak_args ua;
 
 	NETBSD32TOP_UAP(nsize, char);
-	return (sys_obreak(l, , retval));
+
+	return sys_obreak(l, , retval);
 }
 
+// XXX move into compat_40
 int
 netbsd32_mount(struct lwp *l, const struct netbsd32_mount_args *uap, register_t *retval)
 {
@@ -372,7 +374,8 @@ netbsd32_mount(struct lwp *l, const stru
 	NETBSD32TOP_UAP(path, const char);
 	NETBSD32TO64_UAP(flags);
 	NETBSD32TOP_UAP(data, void);
-	return (compat_40_sys_mount(l, , retval));
+
+	return compat_40_sys_mount(l, , retval);
 #else
 	return ENOSYS;
 #endif
@@ -389,7 +392,8 @@ netbsd32_unmount(struct lwp *l, const st
 
 	NETBSD32TOP_UAP(path, const char);
 	NETBSD32TO64_UAP(flags);
-	return (sys_unmount(l, , retval));
+
+	return sys_unmount(l, , retval);
 }
 
 int
@@ -401,7 +405,8 @@ netbsd32_setuid(struct lwp *l, const str
 	struct sys_setuid_args ua;
 
 	NETBSD32TO64_UAP(uid);
-	return (sys_setuid(l, , retval));
+
+	return sys_setuid(l, , retval);
 }
 
 int
@@ -417,7 +422,8 @@ netbsd32_accept(struct lwp *l, const str
 	NETBSD32TO64_UAP(s);
 	NETBSD32TOP_UAP(name, struct sockaddr);
 	NETBSD32TOP_UAP(anamelen, socklen_t);
-	return (sys_accept(l, , retval));
+
+	return sys_accept(l, , retval);
 }
 
 int
@@ -434,7 +440,8 @@ netbsd32_getpeername(struct lwp *l, cons
 	NETBSD32TOP_UAP(asa, struct sockaddr);
 	NETBSD32TOP_UAP(alen, socklen_t);
 /* NB: do the protocol specific sockaddrs need to be converted? */
-	return (sys_getpeername(l, , retval));
+
+	return sys_getpeername(l, , retval);
 

CVS commit: src/sys/compat/netbsd32

2018-12-24 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Dec 24 20:27:57 UTC 2018

Modified Files:
src/sys/compat/netbsd32: netbsd32_netbsd.c

Log Message:
pset_create() takes a pointer so it needs special handling.


To generate a diff of this commit:
cvs rdiff -u -r1.218 -r1.219 src/sys/compat/netbsd32/netbsd32_netbsd.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_netbsd.c
diff -u src/sys/compat/netbsd32/netbsd32_netbsd.c:1.218 src/sys/compat/netbsd32/netbsd32_netbsd.c:1.219
--- src/sys/compat/netbsd32/netbsd32_netbsd.c:1.218	Fri Aug 10 21:44:58 2018
+++ src/sys/compat/netbsd32/netbsd32_netbsd.c	Mon Dec 24 20:27:57 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_netbsd.c,v 1.218 2018/08/10 21:44:58 pgoyette Exp $	*/
+/*	$NetBSD: netbsd32_netbsd.c,v 1.219 2018/12/24 20:27:57 mrg Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001, 2008 Matthew R. Green
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_netbsd.c,v 1.218 2018/08/10 21:44:58 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_netbsd.c,v 1.219 2018/12/24 20:27:57 mrg Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ddb.h"
@@ -2796,8 +2796,11 @@ netbsd32_pset_create(struct lwp *l,
 	/* {
 		syscallarg(netbsd32_psetidp_t) psid;
 	}; */
+	struct sys_pset_create_args ua;
 
-	return sys_pset_create(l, (const void *)uap, retval);
+	NETBSD32TOP_UAP(psid, psetid_t);
+
+	return sys_pset_create(l, , retval);
 }
 
 int



CVS commit: src/sys/compat/netbsd32

2018-11-25 Thread Michael van Elst
Module Name:src
Committed By:   mlelstv
Date:   Sun Nov 25 17:58:29 UTC 2018

Modified Files:
src/sys/compat/netbsd32: netbsd32.h netbsd32_conv.h netbsd32_ioctl.c
netbsd32_ioctl.h

Log Message:
Restore netbsd32 compat code for new NPF ABI.


To generate a diff of this commit:
cvs rdiff -u -r1.119 -r1.120 src/sys/compat/netbsd32/netbsd32.h
cvs rdiff -u -r1.35 -r1.36 src/sys/compat/netbsd32/netbsd32_conv.h
cvs rdiff -u -r1.99 -r1.100 src/sys/compat/netbsd32/netbsd32_ioctl.c
cvs rdiff -u -r1.65 -r1.66 src/sys/compat/netbsd32/netbsd32_ioctl.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32.h
diff -u src/sys/compat/netbsd32/netbsd32.h:1.119 src/sys/compat/netbsd32/netbsd32.h:1.120
--- src/sys/compat/netbsd32/netbsd32.h:1.119	Sat Aug 11 03:41:06 2018
+++ src/sys/compat/netbsd32/netbsd32.h	Sun Nov 25 17:58:29 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32.h,v 1.119 2018/08/11 03:41:06 mrg Exp $	*/
+/*	$NetBSD: netbsd32.h,v 1.120 2018/11/25 17:58:29 mlelstv Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001, 2008, 2015 Matthew R. Green
@@ -912,6 +912,13 @@ struct netbsd32_plistref {
 	netbsd32_size_t pref_len;
 };
 
+/*  */
+typedef struct {
+	netbsd32_pointer_t buf;
+	netbsd32_size_tlen;
+	intflags;
+} netbsd32_nvlist_ref_t;
+
 /* from  */
 typedef netbsd32_pointer_t netbsd32_block_infop_t;  /* XXX broken */
 

Index: src/sys/compat/netbsd32/netbsd32_conv.h
diff -u src/sys/compat/netbsd32/netbsd32_conv.h:1.35 src/sys/compat/netbsd32/netbsd32_conv.h:1.36
--- src/sys/compat/netbsd32/netbsd32_conv.h:1.35	Thu May 10 02:36:07 2018
+++ src/sys/compat/netbsd32/netbsd32_conv.h	Sun Nov 25 17:58:29 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_conv.h,v 1.35 2018/05/10 02:36:07 christos Exp $	*/
+/*	$NetBSD: netbsd32_conv.h,v 1.36 2018/11/25 17:58:29 mlelstv Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -48,6 +48,8 @@
 
 #include 
 
+#include 
+
 #include 
 
 /* converters for structures that we need */
@@ -796,6 +798,34 @@ netbsd32_copyout_plistref(netbsd32_point
 	sizeof(struct netbsd32_plistref));
 }
 
+static __inline int
+netbsd32_copyin_nvlist_ref_t(netbsd32_pointer_t n32p, nvlist_ref_t *p)
+{
+	netbsd32_nvlist_ref_t n32nv;
+	int error;
+
+	error = copyin(NETBSD32PTR64(n32p), ,
+	sizeof(netbsd32_nvlist_ref_t));
+	if (error)
+		return error;
+	p->buf = NETBSD32PTR64(n32nv.buf);
+	p->len = n32nv.len;
+	p->flags = n32nv.flags;
+	return 0;
+}
+
+static __inline int
+netbsd32_copyout_nvlist_ref_t(netbsd32_pointer_t n32p, nvlist_ref_t *p)
+{
+	netbsd32_nvlist_ref_t n32nv;
+
+	NETBSD32PTR32(n32nv.buf, p->buf);
+	n32nv.len = p->len;
+	n32nv.flags = p->flags;
+	return copyout(, NETBSD32PTR64(n32p),
+	sizeof(netbsd32_nvlist_ref_t));
+}
+
 static __inline void
 netbsd32_to_mq_attr(const struct netbsd32_mq_attr *a32,
 struct mq_attr *attr)

Index: src/sys/compat/netbsd32/netbsd32_ioctl.c
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.c:1.99 src/sys/compat/netbsd32/netbsd32_ioctl.c:1.100
--- src/sys/compat/netbsd32/netbsd32_ioctl.c:1.99	Fri Oct 12 05:06:05 2018
+++ src/sys/compat/netbsd32/netbsd32_ioctl.c	Sun Nov 25 17:58:29 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.c,v 1.99 2018/10/12 05:06:05 rin Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.c,v 1.100 2018/11/25 17:58:29 mlelstv Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -31,7 +31,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.99 2018/10/12 05:06:05 rin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.100 2018/11/25 17:58:29 mlelstv Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ntp.h"
@@ -287,20 +287,27 @@ netbsd32_to_plistref(struct netbsd32_pli
 }
 
 static inline void
+netbsd32_to_nvlist_ref_t(netbsd32_nvlist_ref_t *s32p, nvlist_ref_t *p, u_long cmd)
+{
+
+	p->buf = NETBSD32PTR64(s32p->buf);
+	p->len = s32p->len;
+	p->flags = s32p->flags;
+}
+
+static inline void
 netbsd32_to_u_long(netbsd32_u_long *s32p, u_long *p, u_long cmd)
 {
 
 	*p = (u_long)*s32p;
 }
 
-#ifdef notdef
 static inline void
 netbsd32_to_voidp(netbsd32_voidp *s32p, voidp *p, u_long cmd)
 {
 
 	*p = (void *)NETBSD32PTR64(*s32p);
 }
-#endif
 
 static inline void
 netbsd32_to_wdog_conf(struct netbsd32_wdog_conf *s32p, struct wdog_conf *p, u_long cmd)
@@ -311,6 +318,28 @@ netbsd32_to_wdog_conf(struct netbsd32_wd
 }
 
 static inline void
+netbsd32_to_npf_ioctl_table(
+const struct netbsd32_npf_ioctl_table *s32p,
+struct npf_ioctl_table *p,
+u_long cmd)
+{
+
+   p->nct_cmd = s32p->nct_cmd;
+   p->nct_name = NETBSD32PTR64(s32p->nct_name);
+   switch (s32p->nct_cmd) {
+   case NPF_CMD_TABLE_LOOKUP:
+   case NPF_CMD_TABLE_ADD:
+   case NPF_CMD_TABLE_REMOVE:
+   p->nct_data.ent = s32p->nct_data.ent;
+   break;
+   case NPF_CMD_TABLE_LIST:
+   p->nct_data.buf.buf = 

CVS commit: src/sys/compat/netbsd32

2018-11-11 Thread Maxime Villard
Module Name:src
Committed By:   maxv
Date:   Mon Nov 12 06:53:43 UTC 2018

Modified Files:
src/sys/compat/netbsd32: netbsd32_socket.c

Log Message:
Fix inverted logic, which leads to buffer overflow. Detected by kASan.


To generate a diff of this commit:
cvs rdiff -u -r1.47 -r1.48 src/sys/compat/netbsd32/netbsd32_socket.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_socket.c
diff -u src/sys/compat/netbsd32/netbsd32_socket.c:1.47 src/sys/compat/netbsd32/netbsd32_socket.c:1.48
--- src/sys/compat/netbsd32/netbsd32_socket.c:1.47	Sun May 13 00:04:23 2018
+++ src/sys/compat/netbsd32/netbsd32_socket.c	Mon Nov 12 06:53:43 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_socket.c,v 1.47 2018/05/13 00:04:23 christos Exp $	*/
+/*	$NetBSD: netbsd32_socket.c,v 1.48 2018/11/12 06:53:43 maxv Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_socket.c,v 1.47 2018/05/13 00:04:23 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_socket.c,v 1.48 2018/11/12 06:53:43 maxv Exp $");
 
 #include 
 #include 
@@ -102,7 +102,7 @@ copyout32_msg_control_mbuf(struct lwp *l
 		}
 
 		ktrkuser(mbuftypes[MT_CONTROL], cmsg, cmsg->cmsg_len);
-		error = copyout(, *q, MAX(i, sizeof(cmsg32)));
+		error = copyout(, *q, MIN(i, sizeof(cmsg32)));
 		if (error)
 			return (error);
 		if (i > CMSG32_LEN(0)) {



CVS commit: src/sys/compat/netbsd32

2018-10-11 Thread Rin Okuyama
Module Name:src
Committed By:   rin
Date:   Fri Oct 12 05:06:05 UTC 2018

Modified Files:
src/sys/compat/netbsd32: netbsd32_ioctl.c

Log Message:
PR kern/53666
Correct misleading names of dummy variables. No binary changes intended.


To generate a diff of this commit:
cvs rdiff -u -r1.98 -r1.99 src/sys/compat/netbsd32/netbsd32_ioctl.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_ioctl.c
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.c:1.98 src/sys/compat/netbsd32/netbsd32_ioctl.c:1.99
--- src/sys/compat/netbsd32/netbsd32_ioctl.c:1.98	Thu Oct 11 15:23:22 2018
+++ src/sys/compat/netbsd32/netbsd32_ioctl.c	Fri Oct 12 05:06:05 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.c,v 1.98 2018/10/11 15:23:22 christos Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.c,v 1.99 2018/10/12 05:06:05 rin Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -31,7 +31,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.98 2018/10/11 15:23:22 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.99 2018/10/12 05:06:05 rin Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ntp.h"
@@ -1346,7 +1346,7 @@ netbsd32_ioctl(struct lwp *l, const stru
 	case BIOCGDLTLIST32:
 		IOCTL_STRUCT_CONV_TO(BIOCGDLTLIST, bpf_dltlist);
 	case BIOCSRTIMEOUT32:
-#define netbsd32_to_timeval(p, s32p, cmd) netbsd32_to_timeval(p, s32p)
+#define netbsd32_to_timeval(s32p, p, cmd) netbsd32_to_timeval(s32p, p)
 #define netbsd32_from_timeval(p, s32p, cmd) netbsd32_from_timeval(p, s32p)
 		IOCTL_STRUCT_CONV_TO(BIOCSRTIMEOUT, timeval);
 #undef netbsd32_to_timeval



CVS commit: src/sys/compat/netbsd32

2018-10-11 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Thu Oct 11 15:23:22 UTC 2018

Modified Files:
src/sys/compat/netbsd32: netbsd32_ioctl.c netbsd32_ioctl.h

Log Message:
PR/53666: Rin Okuyama: tcpdump for i386 does not work with COMPAT_NETBSD32
on amd64. Add BIOCSRTIMEOUT32.


To generate a diff of this commit:
cvs rdiff -u -r1.97 -r1.98 src/sys/compat/netbsd32/netbsd32_ioctl.c
cvs rdiff -u -r1.64 -r1.65 src/sys/compat/netbsd32/netbsd32_ioctl.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_ioctl.c
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.c:1.97 src/sys/compat/netbsd32/netbsd32_ioctl.c:1.98
--- src/sys/compat/netbsd32/netbsd32_ioctl.c:1.97	Sat Oct  6 11:22:16 2018
+++ src/sys/compat/netbsd32/netbsd32_ioctl.c	Thu Oct 11 11:23:22 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.c,v 1.97 2018/10/06 15:22:16 christos Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.c,v 1.98 2018/10/11 15:23:22 christos Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -31,7 +31,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.97 2018/10/06 15:22:16 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.98 2018/10/11 15:23:22 christos Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ntp.h"
@@ -1345,6 +1345,12 @@ netbsd32_ioctl(struct lwp *l, const stru
 		IOCTL_STRUCT_CONV_TO(BIOCSUDPF, bpf_program);
 	case BIOCGDLTLIST32:
 		IOCTL_STRUCT_CONV_TO(BIOCGDLTLIST, bpf_dltlist);
+	case BIOCSRTIMEOUT32:
+#define netbsd32_to_timeval(p, s32p, cmd) netbsd32_to_timeval(p, s32p)
+#define netbsd32_from_timeval(p, s32p, cmd) netbsd32_from_timeval(p, s32p)
+		IOCTL_STRUCT_CONV_TO(BIOCSRTIMEOUT, timeval);
+#undef netbsd32_to_timeval
+#undef netbsd32_from_timeval
 
 	case WSDISPLAYIO_ADDSCREEN32:
 		IOCTL_STRUCT_CONV_TO(WSDISPLAYIO_ADDSCREEN, wsdisplay_addscreendata);

Index: src/sys/compat/netbsd32/netbsd32_ioctl.h
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.h:1.64 src/sys/compat/netbsd32/netbsd32_ioctl.h:1.65
--- src/sys/compat/netbsd32/netbsd32_ioctl.h:1.64	Sat Sep 29 10:41:35 2018
+++ src/sys/compat/netbsd32/netbsd32_ioctl.h	Thu Oct 11 11:23:22 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.h,v 1.64 2018/09/29 14:41:35 rmind Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.h,v 1.65 2018/10/11 15:23:22 christos Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -116,6 +116,7 @@ struct netbsd32_bpf_dltlist {
 #define BIOCSTCPF32	_IOW('B',114, struct netbsd32_bpf_program)
 #define BIOCSUDPF32	_IOW('B',115, struct netbsd32_bpf_program)
 #define BIOCGDLTLIST32	_IOWR('B',119, struct netbsd32_bpf_dltlist)
+#define BIOCSRTIMEOUT32	_IOW('B',122, struct netbsd32_timeval)
 
 
 struct netbsd32_wsdisplay_addscreendata {



CVS commit: src/sys/compat/netbsd32

2018-10-06 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sat Oct  6 15:22:16 UTC 2018

Modified Files:
src/sys/compat/netbsd32: netbsd32_ioctl.c

Log Message:
comment out unused


To generate a diff of this commit:
cvs rdiff -u -r1.96 -r1.97 src/sys/compat/netbsd32/netbsd32_ioctl.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_ioctl.c
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.c:1.96 src/sys/compat/netbsd32/netbsd32_ioctl.c:1.97
--- src/sys/compat/netbsd32/netbsd32_ioctl.c:1.96	Sat Sep 29 10:41:35 2018
+++ src/sys/compat/netbsd32/netbsd32_ioctl.c	Sat Oct  6 11:22:16 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.c,v 1.96 2018/09/29 14:41:35 rmind Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.c,v 1.97 2018/10/06 15:22:16 christos Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -31,7 +31,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.96 2018/09/29 14:41:35 rmind Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.97 2018/10/06 15:22:16 christos Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ntp.h"
@@ -293,12 +293,14 @@ netbsd32_to_u_long(netbsd32_u_long *s32p
 	*p = (u_long)*s32p;
 }
 
+#ifdef notdef
 static inline void
 netbsd32_to_voidp(netbsd32_voidp *s32p, voidp *p, u_long cmd)
 {
 
 	*p = (void *)NETBSD32PTR64(*s32p);
 }
+#endif
 
 static inline void
 netbsd32_to_wdog_conf(struct netbsd32_wdog_conf *s32p, struct wdog_conf *p, u_long cmd)
@@ -855,13 +857,14 @@ netbsd32_from_u_long(u_long *p, netbsd32
 	*s32p = (netbsd32_u_long)*p;
 }
 
+#ifdef notdef
 static inline void
 netbsd32_from_voidp(voidp *p, netbsd32_voidp *s32p, u_long cmd)
 {
 
 	NETBSD32PTR32(*s32p, *p);
 }
-
+#endif
 
 static inline void
 netbsd32_from_clockctl_settimeofday(



CVS commit: src/sys/compat/netbsd32

2018-09-24 Thread Jaromir Dolecek
Module Name:src
Committed By:   jdolecek
Date:   Mon Sep 24 21:15:39 UTC 2018

Modified Files:
src/sys/compat/netbsd32: netbsd32_ioctl.c netbsd32_ioctl.h

Log Message:
fix DIOCLWEDGES to at least not fail with ENOTTY due to struct size difference,
but probably more needs to be done to work if any actual wedges are configured


To generate a diff of this commit:
cvs rdiff -u -r1.94 -r1.95 src/sys/compat/netbsd32/netbsd32_ioctl.c
cvs rdiff -u -r1.62 -r1.63 src/sys/compat/netbsd32/netbsd32_ioctl.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_ioctl.c
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.c:1.94 src/sys/compat/netbsd32/netbsd32_ioctl.c:1.95
--- src/sys/compat/netbsd32/netbsd32_ioctl.c:1.94	Mon Sep 24 21:08:08 2018
+++ src/sys/compat/netbsd32/netbsd32_ioctl.c	Mon Sep 24 21:15:39 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.c,v 1.94 2018/09/24 21:08:08 jdolecek Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.c,v 1.95 2018/09/24 21:15:39 jdolecek Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -31,7 +31,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.94 2018/09/24 21:08:08 jdolecek Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.95 2018/09/24 21:15:39 jdolecek Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ntp.h"
@@ -552,7 +552,7 @@ netbsd32_to_dkwedge_list(
 struct dkwedge_list *p,
 u_long cmd)
 {
-	p->dkwl_buf = s32p->dkwl_buf;
+	p->dkwl_buf = NETBSD32PTR64(s32p->dkwl_buf);
 	p->dkwl_bufsize = s32p->dkwl_bufsize;
 	p->dkwl_nwedges = s32p->dkwl_nwedges;
 	p->dkwl_ncopied = s32p->dkwl_ncopied;
@@ -1017,7 +1017,7 @@ netbsd32_from_dkwedge_list(
 struct netbsd32_dkwedge_list *s32p,
 u_long cmd)
 {
-	s32p->dkwl_buf = p->dkwl_buf;
+	NETBSD32PTR32(s32p->dkwl_buf, p->dkwl_buf);
 	s32p->dkwl_bufsize = p->dkwl_bufsize;
 	s32p->dkwl_nwedges = p->dkwl_nwedges;
 	s32p->dkwl_ncopied = p->dkwl_ncopied;

Index: src/sys/compat/netbsd32/netbsd32_ioctl.h
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.h:1.62 src/sys/compat/netbsd32/netbsd32_ioctl.h:1.63
--- src/sys/compat/netbsd32/netbsd32_ioctl.h:1.62	Mon Sep 24 21:08:08 2018
+++ src/sys/compat/netbsd32/netbsd32_ioctl.h	Mon Sep 24 21:15:39 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.h,v 1.62 2018/09/24 21:08:08 jdolecek Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.h,v 1.63 2018/09/24 21:15:39 jdolecek Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -604,11 +604,11 @@ struct netbsd32_devrescanargs {
 /* From sys/disk.h, sys/dkio.h */
 
 struct netbsd32_dkwedge_list {
-	void			*dkwl_buf;	/* storage for dkwedge_info array */
+	netbsd32_voidp		dkwl_buf; /* storage for dkwedge_info array */
 	netbsd32_size_t		dkwl_bufsize;	/* size	of that	buffer */
 	u_int			dkwl_nwedges;	/* total number	of wedges */
 	u_int			dkwl_ncopied;	/* number actually copied */
-};
+} __packed;
 
 #define DIOCLWEDGES32		_IOWR('d', 124, struct netbsd32_dkwedge_list)
 



CVS commit: src/sys/compat/netbsd32

2018-09-24 Thread Jaromir Dolecek
Module Name:src
Committed By:   jdolecek
Date:   Mon Sep 24 21:08:08 UTC 2018

Modified Files:
src/sys/compat/netbsd32: netbsd32_ioctl.c netbsd32_ioctl.h

Log Message:
add support for DIOCGSTRATEGY and DIOCSSTRATEGY


To generate a diff of this commit:
cvs rdiff -u -r1.93 -r1.94 src/sys/compat/netbsd32/netbsd32_ioctl.c
cvs rdiff -u -r1.61 -r1.62 src/sys/compat/netbsd32/netbsd32_ioctl.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_ioctl.c
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.c:1.93 src/sys/compat/netbsd32/netbsd32_ioctl.c:1.94
--- src/sys/compat/netbsd32/netbsd32_ioctl.c:1.93	Mon Sep  3 16:29:29 2018
+++ src/sys/compat/netbsd32/netbsd32_ioctl.c	Mon Sep 24 21:08:08 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.c,v 1.93 2018/09/03 16:29:29 riastradh Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.c,v 1.94 2018/09/24 21:08:08 jdolecek Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -31,7 +31,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.93 2018/09/03 16:29:29 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.94 2018/09/24 21:08:08 jdolecek Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ntp.h"
@@ -536,6 +536,17 @@ netbsd32_to_devrescanargs(
 }
 
 static inline void
+netbsd32_to_disk_strategy(
+const struct netbsd32_disk_strategy *s32p,
+struct disk_strategy *p,
+u_long cmd)
+{
+	memcpy(p->dks_name, s32p->dks_name, sizeof(p->dks_name));
+	p->dks_param = NETBSD32PTR64(s32p->dks_param);
+	p->dks_paramlen = s32p->dks_paramlen;
+}
+
+static inline void
 netbsd32_to_dkwedge_list(
 const struct netbsd32_dkwedge_list *s32p,
 struct dkwedge_list *p,
@@ -990,6 +1001,17 @@ netbsd32_from_devrescanargs(
 }
 
 static inline void
+netbsd32_from_disk_strategy(
+const struct disk_strategy *p,
+struct netbsd32_disk_strategy *s32p,
+u_long cmd)
+{
+	memcpy(s32p->dks_name, p->dks_name, sizeof(p->dks_name));
+	NETBSD32PTR32(s32p->dks_param, p->dks_param);
+	s32p->dks_paramlen = p->dks_paramlen;
+}
+
+static inline void
 netbsd32_from_dkwedge_list(
 const struct dkwedge_list *p,
 struct netbsd32_dkwedge_list *s32p,
@@ -1457,6 +1479,10 @@ netbsd32_ioctl(struct lwp *l, const stru
 	case DRVGETEVENT32:
 		IOCTL_STRUCT_CONV_TO(DRVGETEVENT, plistref);
 
+	case DIOCGSTRATEGY32:
+		IOCTL_STRUCT_CONV_TO(DIOCGSTRATEGY, disk_strategy);
+	case DIOCSSTRATEGY32:
+		IOCTL_STRUCT_CONV_TO(DIOCSSTRATEGY, disk_strategy);
 	case DIOCLWEDGES32:
 		IOCTL_STRUCT_CONV_TO(DIOCLWEDGES, dkwedge_list);
 

Index: src/sys/compat/netbsd32/netbsd32_ioctl.h
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.h:1.61 src/sys/compat/netbsd32/netbsd32_ioctl.h:1.62
--- src/sys/compat/netbsd32/netbsd32_ioctl.h:1.61	Thu Sep  6 06:41:59 2018
+++ src/sys/compat/netbsd32/netbsd32_ioctl.h	Mon Sep 24 21:08:08 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.h,v 1.61 2018/09/06 06:41:59 maxv Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.h,v 1.62 2018/09/24 21:08:08 jdolecek Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -612,3 +612,11 @@ struct netbsd32_dkwedge_list {
 
 #define DIOCLWEDGES32		_IOWR('d', 124, struct netbsd32_dkwedge_list)
 
+struct netbsd32_disk_strategy {
+	char dks_name[DK_STRATEGYNAMELEN];	/* name of strategy */
+	netbsd32_charp dks_param;		/* notyet; should be NULL */
+	netbsd32_size_t dks_paramlen;		/* notyet; should be 0 */
+} __packed;
+
+#define DIOCGSTRATEGY32		_IOR('d', 125, struct netbsd32_disk_strategy)
+#define DIOCSSTRATEGY32		_IOW('d', 126, struct netbsd32_disk_strategy)



CVS commit: src/sys/compat/netbsd32

2018-09-02 Thread Maxime Villard
Module Name:src
Committed By:   maxv
Date:   Sun Sep  2 16:13:42 UTC 2018

Modified Files:
src/sys/compat/netbsd32: netbsd32_ioctl.h

Log Message:
remove dead references to IPF; also remove references to netccitt/, it was
removed 12 years ago.


To generate a diff of this commit:
cvs rdiff -u -r1.59 -r1.60 src/sys/compat/netbsd32/netbsd32_ioctl.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_ioctl.h
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.h:1.59 src/sys/compat/netbsd32/netbsd32_ioctl.h:1.60
--- src/sys/compat/netbsd32/netbsd32_ioctl.h:1.59	Tue Mar  6 07:59:59 2018
+++ src/sys/compat/netbsd32/netbsd32_ioctl.h	Sun Sep  2 16:13:42 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.h,v 1.59 2018/03/06 07:59:59 mlelstv Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.h,v 1.60 2018/09/02 16:13:42 maxv Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -218,36 +218,6 @@ net/if_atm.h:89:#define SIOCATMDIS	_IOWR
 
 net/if_ppp.h:105:#define PPPIOCSCOMPRESS	_IOW('t', 77, struct ppp_option_data)
 
-netccitt/x25.h:157:#define	SIOCSIFCONF_X25	_IOW('i', 12, struct ifreq_x25)	/* set ifnet config */
-netccitt/x25.h:158:#define	SIOCGIFCONF_X25	_IOWR('i',13, struct ifreq_x25)	/* get ifnet config */
-
-netinet/ip_fil.h:46:#define	SIOCGETFS	_IOR('r', 64, struct friostat)
-netinet/ip_fil.h:56:#define	SIOCFRZST	_IOWR('r', 74, struct friostat)
-
-netinet/ip_fil.h:42:#define	SIOCADAFR	_IOW('r', 60, struct frentry)
-netinet/ip_fil.h:43:#define	SIOCRMAFR	_IOW('r', 61, struct frentry)
-netinet/ip_fil.h:49:#define	SIOCADIFR	_IOW('r', 67, struct frentry)
-netinet/ip_fil.h:50:#define	SIOCRMIFR	_IOW('r', 68, struct frentry)
-netinet/ip_fil.h:52:#define	SIOCINAFR	_IOW('r', 70, struct frentry)
-netinet/ip_fil.h:53:#define	SIOCINIFR	_IOW('r', 71, struct frentry)
-netinet/ip_fil.h:57:#define	SIOCZRLST	_IOWR('r', 75, struct frentry)
-
-netinet/ip_fil.h:78:#define	SIOCAUTHW	_IOWR(r, 76, struct fr_info)
-netinet/ip_fil.h:79:#define	SIOCAUTHR	_IOWR(r, 77, struct fr_info)
-
-netinet/ip_fil.h:60:#define	SIOCATHST	_IOWR('r', 78, struct fr_authstat)
-
-netinet/ip_nat.h:22:#define	SIOCADNAT	_IOW('r', 80, struct ipnat)
-netinet/ip_nat.h:23:#define	SIOCRMNAT	_IOW('r', 81, struct ipnat)
-
-netinet/ip_nat.h:24:#define	SIOCGNATS	_IOR('r', 82, struct natstat)
-
-netinet/ip_nat.h:25:#define	SIOCGNATL	_IOWR('r', 83, struct natlookup)
-
-netinet/ip_nat.h:26:#define SIOCGFRST	_IOR('r', 84, struct ipfrstat)
-
-netinet/ip_nat.h:27:#define SIOCGIPST	_IOR('r', 85, struct ips_stat)
-
 sys/module.h?
 
 sys/rnd.h:186:#define RNDGETPOOL  _IOR('R',  103, u_char *)  /* get whole pool */



CVS commit: src/sys/compat/netbsd32

2018-08-10 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Sat Aug 11 03:41:06 UTC 2018

Modified Files:
src/sys/compat/netbsd32: netbsd32.h netbsd32_fs.c

Log Message:
support nullfs in netbsd32.


To generate a diff of this commit:
cvs rdiff -u -r1.118 -r1.119 src/sys/compat/netbsd32/netbsd32.h
cvs rdiff -u -r1.80 -r1.81 src/sys/compat/netbsd32/netbsd32_fs.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32.h
diff -u src/sys/compat/netbsd32/netbsd32.h:1.118 src/sys/compat/netbsd32/netbsd32.h:1.119
--- src/sys/compat/netbsd32/netbsd32.h:1.118	Thu May 10 02:36:07 2018
+++ src/sys/compat/netbsd32/netbsd32.h	Sat Aug 11 03:41:06 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32.h,v 1.118 2018/05/10 02:36:07 christos Exp $	*/
+/*	$NetBSD: netbsd32.h,v 1.119 2018/08/11 03:41:06 mrg Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001, 2008, 2015 Matthew R. Green
@@ -965,7 +965,7 @@ struct netbsd32_tmpfs_args {
 /* from  */
 struct netbsd32_iso_args {
 	netbsd32_charp fspec;
-	struct export_args30 _pad1;
+	struct netbsd32_export_args30 _pad1;
 	int	flags;
 };
 
@@ -1021,8 +1021,6 @@ struct netbsd32_mountd_exports_list {
 	netbsd32_export_argsp	mel_exports;
 };
 
-/* no struct export_args30 yet */
-
 /* from  */
 struct netbsd32_nfs_args {
 	int32_t		version;	/* args structure version number */
@@ -1060,6 +1058,17 @@ struct netbsd32_msdosfs_args {
 	int	gmtoff;		/* v3: offset from UTC in seconds */
 };
 
+/* from  */
+struct netbsd32_layer_args {
+	netbsd32_charp target;		/* Target of loopback  */
+	struct netbsd32_export_args30 _pad1; /* compat with old userland tools */
+};
+
+/* from  */
+struct netbsd32_null_args {
+	struct	netbsd32_layer_args	la;	/* generic layerfs args */
+};
+
 struct netbsd32_posix_spawn_file_actions_entry {
 	enum { FAE32_OPEN, FAE32_DUP2, FAE32_CLOSE } fae_action;
 

Index: src/sys/compat/netbsd32/netbsd32_fs.c
diff -u src/sys/compat/netbsd32/netbsd32_fs.c:1.80 src/sys/compat/netbsd32/netbsd32_fs.c:1.81
--- src/sys/compat/netbsd32/netbsd32_fs.c:1.80	Thu Jun  1 02:45:08 2017
+++ src/sys/compat/netbsd32/netbsd32_fs.c	Sat Aug 11 03:41:06 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_fs.c,v 1.80 2017/06/01 02:45:08 chs Exp $	*/
+/*	$NetBSD: netbsd32_fs.c,v 1.81 2018/08/11 03:41:06 mrg Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_fs.c,v 1.80 2017/06/01 02:45:08 chs Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_fs.c,v 1.81 2018/08/11 03:41:06 mrg Exp $");
 
 #include 
 #include 
@@ -54,6 +54,7 @@ __KERNEL_RCSID(0, "$NetBSD: netbsd32_fs.
 #include 
 #include 
 #include 
+#include 
 
 #define NFS_ARGS_ONLY
 #include 
@@ -799,6 +800,7 @@ netbsd32___mount50(struct lwp *l, const 
 		struct netbsd32_nfs_args nfs_args;
 		struct netbsd32_msdosfs_args msdosfs_args;
 		struct netbsd32_tmpfs_args tmpfs_args;
+		struct netbsd32_null_args null_args;
 	} fs_args32;
 	union {
 		struct ufs_args ufs_args;
@@ -807,6 +809,7 @@ netbsd32___mount50(struct lwp *l, const 
 		struct nfs_args nfs_args;
 		struct msdosfs_args msdosfs_args;
 		struct tmpfs_args tmpfs_args;
+		struct null_args null_args;
 	} fs_args;
 	const char *type = SCARG_P32(uap, type);
 	const char *path = SCARG_P32(uap, path);
@@ -953,6 +956,20 @@ netbsd32___mount50(struct lwp *l, const 
 		data_seg = UIO_SYSSPACE;
 		data = _args.nfs_args;
 		data_len = sizeof(fs_args.nfs_args);
+	} else if (strcmp(mtype, MOUNT_NULL) == 0) {
+		if (data_len > sizeof(fs_args32.null_args))
+			return EINVAL;
+		if ((flags & MNT_GETARGS) == 0) {
+			error = copyin(data, _args32.null_args, 
+			sizeof(fs_args32.null_args));
+			if (error)
+return error;
+			fs_args.null_args.la.target =
+			NETBSD32PTR64(fs_args32.null_args.la.target);
+		}
+		data_seg = UIO_SYSSPACE;
+		data = _args.null_args;
+		data_len = sizeof(fs_args.null_args);
 	} else {
 		data_seg = UIO_USERSPACE;
 	}
@@ -1032,6 +1049,13 @@ netbsd32___mount50(struct lwp *l, const 
 			fs_args.nfs_args.hostname);
 			error = copyout(_args32.nfs_args, data,
 			sizeof(fs_args32.nfs_args));
+		} else if (strcmp(mtype, MOUNT_NULL) == 0) {
+			if (data_len != sizeof(fs_args.null_args))
+return EINVAL;
+			NETBSD32PTR32(fs_args32.null_args.la.target,
+			fs_args.null_args.la.target);
+			error = copyout(_args32.null_args, data, 
+			sizeof(fs_args32.null_args));
 		}
 	}
 	return error;



CVS commit: src/sys/compat/netbsd32

2018-07-31 Thread Robert Swindells
Module Name:src
Committed By:   rjs
Date:   Tue Jul 31 21:02:01 UTC 2018

Modified Files:
src/sys/compat/netbsd32: netbsd32_syscall.h netbsd32_syscallargs.h
netbsd32_syscalls.c netbsd32_syscalls_autoload.c netbsd32_sysent.c
netbsd32_systrace_args.c

Log Message:
regen.


To generate a diff of this commit:
cvs rdiff -u -r1.136 -r1.137 src/sys/compat/netbsd32/netbsd32_syscall.h
cvs rdiff -u -r1.135 -r1.136 src/sys/compat/netbsd32/netbsd32_syscallargs.h
cvs rdiff -u -r1.134 -r1.135 src/sys/compat/netbsd32/netbsd32_syscalls.c
cvs rdiff -u -r1.14 -r1.15 \
src/sys/compat/netbsd32/netbsd32_syscalls_autoload.c
cvs rdiff -u -r1.133 -r1.134 src/sys/compat/netbsd32/netbsd32_sysent.c
cvs rdiff -u -r1.25 -r1.26 src/sys/compat/netbsd32/netbsd32_systrace_args.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_syscall.h
diff -u src/sys/compat/netbsd32/netbsd32_syscall.h:1.136 src/sys/compat/netbsd32/netbsd32_syscall.h:1.137
--- src/sys/compat/netbsd32/netbsd32_syscall.h:1.136	Thu Jul 12 10:46:48 2018
+++ src/sys/compat/netbsd32/netbsd32_syscall.h	Tue Jul 31 21:02:00 2018
@@ -1,10 +1,10 @@
-/* $NetBSD: netbsd32_syscall.h,v 1.136 2018/07/12 10:46:48 maxv Exp $ */
+/* $NetBSD: netbsd32_syscall.h,v 1.137 2018/07/31 21:02:00 rjs Exp $ */
 
 /*
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.121 2018/05/10 02:36:07 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.123 2018/07/31 21:00:02 rjs Exp
  */
 
 #ifndef _NETBSD32_SYS_SYSCALL_H_
@@ -518,6 +518,9 @@
 /* syscall: "netbsd32_fpathconf" ret: "netbsd32_long" args: "int" "int" */
 #define	NETBSD32_SYS_netbsd32_fpathconf	192
 
+/* syscall: "netbsd32_getsockopt2" ret: "int" args: "int" "int" "int" "netbsd32_voidp" "netbsd32_intp" */
+#define	NETBSD32_SYS_netbsd32_getsockopt2	193
+
 /* syscall: "netbsd32_getrlimit" ret: "int" args: "int" "netbsd32_rlimitp_t" */
 #define	NETBSD32_SYS_netbsd32_getrlimit	194
 

Index: src/sys/compat/netbsd32/netbsd32_syscallargs.h
diff -u src/sys/compat/netbsd32/netbsd32_syscallargs.h:1.135 src/sys/compat/netbsd32/netbsd32_syscallargs.h:1.136
--- src/sys/compat/netbsd32/netbsd32_syscallargs.h:1.135	Thu May 10 02:36:26 2018
+++ src/sys/compat/netbsd32/netbsd32_syscallargs.h	Tue Jul 31 21:02:00 2018
@@ -1,10 +1,10 @@
-/* $NetBSD: netbsd32_syscallargs.h,v 1.135 2018/05/10 02:36:26 christos Exp $ */
+/* $NetBSD: netbsd32_syscallargs.h,v 1.136 2018/07/31 21:02:00 rjs Exp $ */
 
 /*
  * System call argument lists.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.121 2018/05/10 02:36:07 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.123 2018/07/31 21:00:02 rjs Exp
  */
 
 #ifndef _NETBSD32_SYS_SYSCALLARGS_H_
@@ -967,6 +967,15 @@ struct netbsd32_fpathconf_args {
 };
 check_syscall_args(netbsd32_fpathconf)
 
+struct netbsd32_getsockopt2_args {
+	syscallarg(int) s;
+	syscallarg(int) level;
+	syscallarg(int) name;
+	syscallarg(netbsd32_voidp) val;
+	syscallarg(netbsd32_intp) avalsize;
+};
+check_syscall_args(netbsd32_getsockopt2)
+
 struct netbsd32_getrlimit_args {
 	syscallarg(int) which;
 	syscallarg(netbsd32_rlimitp_t) rlp;
@@ -2941,6 +2950,8 @@ int	netbsd32_pathconf(struct lwp *, cons
 
 int	netbsd32_fpathconf(struct lwp *, const struct netbsd32_fpathconf_args *, register_t *);
 
+int	netbsd32_getsockopt2(struct lwp *, const struct netbsd32_getsockopt2_args *, register_t *);
+
 int	netbsd32_getrlimit(struct lwp *, const struct netbsd32_getrlimit_args *, register_t *);
 
 int	netbsd32_setrlimit(struct lwp *, const struct netbsd32_setrlimit_args *, register_t *);

Index: src/sys/compat/netbsd32/netbsd32_syscalls.c
diff -u src/sys/compat/netbsd32/netbsd32_syscalls.c:1.134 src/sys/compat/netbsd32/netbsd32_syscalls.c:1.135
--- src/sys/compat/netbsd32/netbsd32_syscalls.c:1.134	Thu Jul 12 10:46:48 2018
+++ src/sys/compat/netbsd32/netbsd32_syscalls.c	Tue Jul 31 21:02:00 2018
@@ -1,14 +1,14 @@
-/* $NetBSD: netbsd32_syscalls.c,v 1.134 2018/07/12 10:46:48 maxv Exp $ */
+/* $NetBSD: netbsd32_syscalls.c,v 1.135 2018/07/31 21:02:00 rjs Exp $ */
 
 /*
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.121 2018/05/10 02:36:07 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.123 2018/07/31 21:00:02 rjs Exp
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_syscalls.c,v 1.134 2018/07/12 10:46:48 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_syscalls.c,v 1.135 2018/07/31 21:02:00 rjs Exp $");
 
 #if defined(_KERNEL_OPT)
 #if defined(_KERNEL_OPT)
@@ -226,7 +226,7 @@ const char *const netbsd32_syscallnames[
 	/* 190 */	"compat_12_netbsd32_lstat12",
 	/* 191 */	"netbsd32_pathconf",
 	/* 192 */	"netbsd32_fpathconf",
-	/* 193 */	"#193 (unimplemented)",
+	/* 193 */	

CVS commit: src/sys/compat/netbsd32

2018-07-31 Thread Robert Swindells
Module Name:src
Committed By:   rjs
Date:   Tue Jul 31 21:00:02 UTC 2018

Modified Files:
src/sys/compat/netbsd32: netbsd32_netbsd.c syscalls.master

Log Message:
Add getsockopt2().


To generate a diff of this commit:
cvs rdiff -u -r1.216 -r1.217 src/sys/compat/netbsd32/netbsd32_netbsd.c
cvs rdiff -u -r1.122 -r1.123 src/sys/compat/netbsd32/syscalls.master

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_netbsd.c
diff -u src/sys/compat/netbsd32/netbsd32_netbsd.c:1.216 src/sys/compat/netbsd32/netbsd32_netbsd.c:1.217
--- src/sys/compat/netbsd32/netbsd32_netbsd.c:1.216	Sun May  6 13:40:51 2018
+++ src/sys/compat/netbsd32/netbsd32_netbsd.c	Tue Jul 31 21:00:02 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_netbsd.c,v 1.216 2018/05/06 13:40:51 kamil Exp $	*/
+/*	$NetBSD: netbsd32_netbsd.c,v 1.217 2018/07/31 21:00:02 rjs Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001, 2008 Matthew R. Green
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_netbsd.c,v 1.216 2018/05/06 13:40:51 kamil Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_netbsd.c,v 1.217 2018/07/31 21:00:02 rjs Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ddb.h"
@@ -1040,6 +1040,26 @@ netbsd32_getsockopt(struct lwp *l, const
 }
 
 int
+netbsd32_getsockopt2(struct lwp *l, const struct netbsd32_getsockopt2_args *uap, register_t *retval)
+{
+	/* {
+		syscallarg(int) s;
+		syscallarg(int) level;
+		syscallarg(int) name;
+		syscallarg(netbsd32_voidp) val;
+		syscallarg(netbsd32_intp) avalsize;
+	} */
+	struct sys_getsockopt2_args ua;
+
+	NETBSD32TO64_UAP(s);
+	NETBSD32TO64_UAP(level);
+	NETBSD32TO64_UAP(name);
+	NETBSD32TOP_UAP(val, void);
+	NETBSD32TOP_UAP(avalsize, socklen_t);
+	return (sys_getsockopt2(l, , retval));
+}
+
+int
 netbsd32_rename(struct lwp *l, const struct netbsd32_rename_args *uap, register_t *retval)
 {
 	/* {

Index: src/sys/compat/netbsd32/syscalls.master
diff -u src/sys/compat/netbsd32/syscalls.master:1.122 src/sys/compat/netbsd32/syscalls.master:1.123
--- src/sys/compat/netbsd32/syscalls.master:1.122	Thu Jul 12 10:46:48 2018
+++ src/sys/compat/netbsd32/syscalls.master	Tue Jul 31 21:00:02 2018
@@ -1,4 +1,4 @@
-	$NetBSD: syscalls.master,v 1.122 2018/07/12 10:46:48 maxv Exp $
+	$NetBSD: syscalls.master,v 1.123 2018/07/31 21:00:02 rjs Exp $
 
 ;	from: NetBSD: syscalls.master,v 1.81 1998/07/05 08:49:50 jonathan Exp
 ;	@(#)syscalls.master	8.2 (Berkeley) 1/13/94
@@ -384,7 +384,8 @@
 191	STD		{ netbsd32_long|netbsd32||pathconf(netbsd32_charp path, \
 			int name); }
 192	STD		{ netbsd32_long|netbsd32||fpathconf(int fd, int name); }
-193	UNIMPL
+193	STD		{ int|netbsd32||getsockopt2(int s, int level, int name, \
+			netbsd32_voidp val, netbsd32_intp avalsize); }
 194	STD		{ int|netbsd32||getrlimit(int which, \
 			netbsd32_rlimitp_t rlp); }
 195	STD		{ int|netbsd32||setrlimit(int which, \



CVS commit: src/sys/compat/netbsd32

2018-05-26 Thread Kamil Rytarowski
Module Name:src
Committed By:   kamil
Date:   Sat May 26 21:07:47 UTC 2018

Modified Files:
src/sys/compat/netbsd32: netbsd32_sysctl.c

Log Message:
Fix sysctl(3):vm.minaddress in compat_netbsd32(8)

Cast minaddress from LP64-specific long (64-bit) to 32-bit long (int).

This value is usually 0 or 0+PAGE_SIZE. There is need to change type in
order to keep original code functional, without prompting the value with
'long long' or a similar approach.

There are more CTLTYPE_LONG with a need for fixes in the compat code:

uipc_usrreq.c
1975 CTLTYPE_LONG, "sendspace",
1981 CTLTYPE_LONG, "recvspace",
1987 CTLTYPE_LONG, "sendspace",
1993 CTLTYPE_LONG, "recvspace",
vfs_bio.c
1921 CTLTYPE_LONG, "bufmem",
1928 CTLTYPE_LONG, "bufmem_lowater",
1935 CTLTYPE_LONG, "bufmem_hiwater",

Sponsored by 


To generate a diff of this commit:
cvs rdiff -u -r1.39 -r1.40 src/sys/compat/netbsd32/netbsd32_sysctl.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_sysctl.c
diff -u src/sys/compat/netbsd32/netbsd32_sysctl.c:1.39 src/sys/compat/netbsd32/netbsd32_sysctl.c:1.40
--- src/sys/compat/netbsd32/netbsd32_sysctl.c:1.39	Sat May 26 18:18:19 2018
+++ src/sys/compat/netbsd32/netbsd32_sysctl.c	Sat May 26 21:07:47 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_sysctl.c,v 1.39 2018/05/26 18:18:19 kamil Exp $	*/
+/*	$NetBSD: netbsd32_sysctl.c,v 1.40 2018/05/26 21:07:47 kamil Exp $	*/
 
 /*
  * Copyright (c) 2003 The NetBSD Foundation, Inc.
@@ -32,7 +32,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_sysctl.c,v 1.39 2018/05/26 18:18:19 kamil Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_sysctl.c,v 1.40 2018/05/26 21:07:47 kamil Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ddb.h"
@@ -153,6 +153,12 @@ netbsd32_sysctl_init(void)
 		   SYSCTL_DESCR("Maximum user address"),
 		   NULL, VM_MAXUSER_ADDRESS32, NULL, 0,
 		   CTL_VM, VM_MAXADDRESS, CTL_EOL);
+	sysctl_createv(_clog, 0, &_root, NULL,
+		   CTLFLAG_PERMANENT|CTLFLAG_IMMEDIATE,
+		   CTLTYPE_INT, "minaddress",
+		   SYSCTL_DESCR("Minimum user address"),
+		   NULL, VM_MIN_ADDRESS, NULL, 0,
+		   CTL_VM, VM_MINADDRESS, CTL_EOL);
 
 	sysctl_createv(_clog, 0, &_root, NULL,
 		   CTLFLAG_PERMANENT,



CVS commit: src/sys/compat/netbsd32

2018-05-26 Thread Kamil Rytarowski
Module Name:src
Committed By:   kamil
Date:   Sat May 26 18:18:19 UTC 2018

Modified Files:
src/sys/compat/netbsd32: netbsd32_sysctl.c

Log Message:
Handle vm.maxaddress in compat_netbsd32(8)

Return VM_MAXUSER_ADDRESS32 instead of the 64-bit specific address.

Use CTLTYPE_INT instead of CTLTYPE_LONG in order to retain the same integer
type between 64-bit native kernel and 32-bit emulated program.

There probably should be CTLTYPE_LONG32 available for this purpose.

On NetBSD/i386:
vm.maxaddress=bfeff000

On NetBSD/amd64:
vm.maxaddress=7fbfdfeff000

On NetBSD/amd64 running i386 program:
vm.maxaddress=f000

A 32-bit program on the 64-bit kernel can use larger user space, this
difference is on purpose and expected.

Sponsored by 


To generate a diff of this commit:
cvs rdiff -u -r1.38 -r1.39 src/sys/compat/netbsd32/netbsd32_sysctl.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_sysctl.c
diff -u src/sys/compat/netbsd32/netbsd32_sysctl.c:1.38 src/sys/compat/netbsd32/netbsd32_sysctl.c:1.39
--- src/sys/compat/netbsd32/netbsd32_sysctl.c:1.38	Tue Oct 31 16:10:25 2017
+++ src/sys/compat/netbsd32/netbsd32_sysctl.c	Sat May 26 18:18:19 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_sysctl.c,v 1.38 2017/10/31 16:10:25 kre Exp $	*/
+/*	$NetBSD: netbsd32_sysctl.c,v 1.39 2018/05/26 18:18:19 kamil Exp $	*/
 
 /*
  * Copyright (c) 2003 The NetBSD Foundation, Inc.
@@ -32,7 +32,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_sysctl.c,v 1.38 2017/10/31 16:10:25 kre Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_sysctl.c,v 1.39 2018/05/26 18:18:19 kamil Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ddb.h"
@@ -147,6 +147,12 @@ netbsd32_sysctl_init(void)
 		   netbsd32_sysctl_vm_loadavg, 0, NULL,
 		   sizeof(struct netbsd32_loadavg),
 		   CTL_VM, VM_LOADAVG, CTL_EOL);
+	sysctl_createv(_clog, 0, &_root, NULL,
+		   CTLFLAG_PERMANENT|CTLFLAG_IMMEDIATE,
+		   CTLTYPE_INT, "maxaddress",
+		   SYSCTL_DESCR("Maximum user address"),
+		   NULL, VM_MAXUSER_ADDRESS32, NULL, 0,
+		   CTL_VM, VM_MAXADDRESS, CTL_EOL);
 
 	sysctl_createv(_clog, 0, &_root, NULL,
 		   CTLFLAG_PERMANENT,



CVS commit: src/sys/compat/netbsd32

2018-05-12 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun May 13 00:04:23 UTC 2018

Modified Files:
src/sys/compat/netbsd32: netbsd32_socket.c

Log Message:
PR/53280: Andreas Gustafsson: Fix panic in the fdpass test. This is probably
the only 32 bit binary in the tests...


To generate a diff of this commit:
cvs rdiff -u -r1.46 -r1.47 src/sys/compat/netbsd32/netbsd32_socket.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_socket.c
diff -u src/sys/compat/netbsd32/netbsd32_socket.c:1.46 src/sys/compat/netbsd32/netbsd32_socket.c:1.47
--- src/sys/compat/netbsd32/netbsd32_socket.c:1.46	Wed May  9 22:36:07 2018
+++ src/sys/compat/netbsd32/netbsd32_socket.c	Sat May 12 20:04:23 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_socket.c,v 1.46 2018/05/10 02:36:07 christos Exp $	*/
+/*	$NetBSD: netbsd32_socket.c,v 1.47 2018/05/13 00:04:23 christos Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_socket.c,v 1.46 2018/05/10 02:36:07 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_socket.c,v 1.47 2018/05/13 00:04:23 christos Exp $");
 
 #include 
 #include 
@@ -501,6 +501,7 @@ msg_send_copyin(struct lwp *l, const str
 	if (error)
 		goto out;
 	msg->msg_iov = iov;
+	return 0;
 out:
 	if (msg->msg_control)
 		m_free(msg->msg_control);



CVS commit: src/sys/compat/netbsd32

2018-05-09 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Thu May 10 02:36:08 UTC 2018

Modified Files:
src/sys/compat/netbsd32: netbsd32.h netbsd32_compat_20.c
netbsd32_conv.h netbsd32_socket.c syscalls.master

Log Message:
add {send,recv}mmsg


To generate a diff of this commit:
cvs rdiff -u -r1.117 -r1.118 src/sys/compat/netbsd32/netbsd32.h
cvs rdiff -u -r1.36 -r1.37 src/sys/compat/netbsd32/netbsd32_compat_20.c
cvs rdiff -u -r1.34 -r1.35 src/sys/compat/netbsd32/netbsd32_conv.h
cvs rdiff -u -r1.45 -r1.46 src/sys/compat/netbsd32/netbsd32_socket.c
cvs rdiff -u -r1.120 -r1.121 src/sys/compat/netbsd32/syscalls.master

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32.h
diff -u src/sys/compat/netbsd32/netbsd32.h:1.117 src/sys/compat/netbsd32/netbsd32.h:1.118
--- src/sys/compat/netbsd32/netbsd32.h:1.117	Sat Apr 14 00:04:39 2018
+++ src/sys/compat/netbsd32/netbsd32.h	Wed May  9 22:36:07 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32.h,v 1.117 2018/04/14 04:04:39 mrg Exp $	*/
+/*	$NetBSD: netbsd32.h,v 1.118 2018/05/10 02:36:07 christos Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001, 2008, 2015 Matthew R. Green
@@ -715,6 +715,12 @@ struct netbsd32_omsghdr {
 	int		 msg_accrightslen;
 };
 
+typedef netbsd32_pointer_t netbsd32_mmsghdrp_t;
+struct netbsd32_mmsghdr {
+	struct netbsd32_msghdr msg_hdr;
+	unsigned int msg_len;
+};
+
 /* from  */
 typedef netbsd32_pointer_t netbsd32_stat12p_t;
 struct netbsd32_stat12 {		/* NetBSD-1.2 stat struct */

Index: src/sys/compat/netbsd32/netbsd32_compat_20.c
diff -u src/sys/compat/netbsd32/netbsd32_compat_20.c:1.36 src/sys/compat/netbsd32/netbsd32_compat_20.c:1.37
--- src/sys/compat/netbsd32/netbsd32_compat_20.c:1.36	Thu Apr 13 05:46:59 2017
+++ src/sys/compat/netbsd32/netbsd32_compat_20.c	Wed May  9 22:36:07 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_compat_20.c,v 1.36 2017/04/13 09:46:59 hannken Exp $	*/
+/*	$NetBSD: netbsd32_compat_20.c,v 1.37 2018/05/10 02:36:07 christos Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_20.c,v 1.36 2017/04/13 09:46:59 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_20.c,v 1.37 2018/05/10 02:36:07 christos Exp $");
 
 #include 
 #include 
@@ -36,6 +36,7 @@ __KERNEL_RCSID(0, "$NetBSD: netbsd32_com
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 

Index: src/sys/compat/netbsd32/netbsd32_conv.h
diff -u src/sys/compat/netbsd32/netbsd32_conv.h:1.34 src/sys/compat/netbsd32/netbsd32_conv.h:1.35
--- src/sys/compat/netbsd32/netbsd32_conv.h:1.34	Thu Apr 19 17:50:08 2018
+++ src/sys/compat/netbsd32/netbsd32_conv.h	Wed May  9 22:36:07 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_conv.h,v 1.34 2018/04/19 21:50:08 christos Exp $	*/
+/*	$NetBSD: netbsd32_conv.h,v 1.35 2018/05/10 02:36:07 christos Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -289,6 +289,22 @@ netbsd32_from_msghdr(struct netbsd32_msg
 }
 
 static __inline void
+netbsd32_to_mmsghdr(const struct netbsd32_mmsghdr *mmsg32,
+struct mmsghdr *mmsg)
+{
+netbsd32_to_msghdr(>msg_hdr, >msg_hdr);
+mmsg->msg_len = mmsg32->msg_len;
+}
+
+static __inline void
+netbsd32_from_mmsghdr(struct netbsd32_mmsghdr *mmsg32,
+const struct mmsghdr *mmsg)
+{
+netbsd32_from_msghdr(>msg_hdr, >msg_hdr);
+mmsg32->msg_len = mmsg->msg_len;
+}
+
+static __inline void
 netbsd32_from_statvfs(const struct statvfs *sbp, struct netbsd32_statvfs *sb32p)
 {
 	sb32p->f_flag = sbp->f_flag;

Index: src/sys/compat/netbsd32/netbsd32_socket.c
diff -u src/sys/compat/netbsd32/netbsd32_socket.c:1.45 src/sys/compat/netbsd32/netbsd32_socket.c:1.46
--- src/sys/compat/netbsd32/netbsd32_socket.c:1.45	Thu May  3 17:43:33 2018
+++ src/sys/compat/netbsd32/netbsd32_socket.c	Wed May  9 22:36:07 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_socket.c,v 1.45 2018/05/03 21:43:33 christos Exp $	*/
+/*	$NetBSD: netbsd32_socket.c,v 1.46 2018/05/10 02:36:07 christos Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_socket.c,v 1.45 2018/05/03 21:43:33 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_socket.c,v 1.46 2018/05/10 02:36:07 christos Exp $");
 
 #include 
 #include 
@@ -159,6 +159,62 @@ copyout32_msg_control(struct lwp *l, str
 	return error;
 }
 
+static int
+msg_recv_copyin(struct lwp *l, const struct netbsd32_msghdr *msg32,
+struct msghdr *msg, struct iovec *aiov)
+{
+	int error;
+	size_t iovsz;
+	struct iovec *iov = aiov;
+
+	iovsz = msg32->msg_iovlen * sizeof(struct iovec);
+	if (msg32->msg_iovlen > UIO_SMALLIOV) {
+		if (msg32->msg_iovlen > IOV_MAX)
+			return EMSGSIZE;
+		iov = kmem_alloc(iovsz, KM_SLEEP);
+	}
+
+	error = netbsd32_to_iovecin(NETBSD32PTR64(msg32->msg_iov), iov,
+	msg32->msg_iovlen);
+	if (error)
+		goto out;
+
+	

CVS commit: src/sys/compat/netbsd32

2018-05-09 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Thu May 10 02:36:26 UTC 2018

Modified Files:
src/sys/compat/netbsd32: netbsd32_syscall.h netbsd32_syscallargs.h
netbsd32_syscalls.c netbsd32_syscalls_autoload.c netbsd32_sysent.c
netbsd32_systrace_args.c

Log Message:
regen


To generate a diff of this commit:
cvs rdiff -u -r1.134 -r1.135 src/sys/compat/netbsd32/netbsd32_syscall.h \
src/sys/compat/netbsd32/netbsd32_syscallargs.h
cvs rdiff -u -r1.132 -r1.133 src/sys/compat/netbsd32/netbsd32_syscalls.c \
src/sys/compat/netbsd32/netbsd32_sysent.c
cvs rdiff -u -r1.13 -r1.14 \
src/sys/compat/netbsd32/netbsd32_syscalls_autoload.c
cvs rdiff -u -r1.24 -r1.25 src/sys/compat/netbsd32/netbsd32_systrace_args.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_syscall.h
diff -u src/sys/compat/netbsd32/netbsd32_syscall.h:1.134 src/sys/compat/netbsd32/netbsd32_syscall.h:1.135
--- src/sys/compat/netbsd32/netbsd32_syscall.h:1.134	Sat Jan  6 11:41:23 2018
+++ src/sys/compat/netbsd32/netbsd32_syscall.h	Wed May  9 22:36:26 2018
@@ -1,10 +1,10 @@
-/* $NetBSD: netbsd32_syscall.h,v 1.134 2018/01/06 16:41:23 kamil Exp $ */
+/* $NetBSD: netbsd32_syscall.h,v 1.135 2018/05/10 02:36:26 christos Exp $ */
 
 /*
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.117 2017/12/19 08:48:19 kamil Exp
+ * created from	NetBSD: syscalls.master,v 1.121 2018/05/10 02:36:07 christos Exp
  */
 
 #ifndef _NETBSD32_SYS_SYSCALL_H_
@@ -1241,6 +1241,12 @@
 /* syscall: "netbsd32_posix_spawn" ret: "int" args: "netbsd32_pid_tp" "const netbsd32_charp" "const netbsd32_posix_spawn_file_actionsp" "const netbsd32_posix_spawnattrp" "netbsd32_charpp" "netbsd32_charpp" */
 #define	NETBSD32_SYS_netbsd32_posix_spawn	474
 
+/* syscall: "netbsd32_recvmmsg" ret: "int" args: "int" "netbsd32_mmsghdrp_t" "unsigned int" "unsigned int" "netbsd32_timespecp_t" */
+#define	NETBSD32_SYS_netbsd32_recvmmsg	475
+
+/* syscall: "netbsd32_sendmmsg" ret: "int" args: "int" "netbsd32_mmsghdrp_t" "unsigned int" "unsigned int" */
+#define	NETBSD32_SYS_netbsd32_sendmmsg	476
+
 /* syscall: "netbsd32_clock_nanosleep" ret: "int" args: "netbsd32_clockid_t" "int" "const netbsd32_timespecp_t" "netbsd32_timespecp_t" */
 #define	NETBSD32_SYS_netbsd32_clock_nanosleep	477
 
Index: src/sys/compat/netbsd32/netbsd32_syscallargs.h
diff -u src/sys/compat/netbsd32/netbsd32_syscallargs.h:1.134 src/sys/compat/netbsd32/netbsd32_syscallargs.h:1.135
--- src/sys/compat/netbsd32/netbsd32_syscallargs.h:1.134	Sat Jan  6 11:41:23 2018
+++ src/sys/compat/netbsd32/netbsd32_syscallargs.h	Wed May  9 22:36:26 2018
@@ -1,10 +1,10 @@
-/* $NetBSD: netbsd32_syscallargs.h,v 1.134 2018/01/06 16:41:23 kamil Exp $ */
+/* $NetBSD: netbsd32_syscallargs.h,v 1.135 2018/05/10 02:36:26 christos Exp $ */
 
 /*
  * System call argument lists.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.117 2017/12/19 08:48:19 kamil Exp
+ * created from	NetBSD: syscalls.master,v 1.121 2018/05/10 02:36:07 christos Exp
  */
 
 #ifndef _NETBSD32_SYS_SYSCALLARGS_H_
@@ -2542,6 +2542,23 @@ struct netbsd32_posix_spawn_args {
 };
 check_syscall_args(netbsd32_posix_spawn)
 
+struct netbsd32_recvmmsg_args {
+	syscallarg(int) s;
+	syscallarg(netbsd32_mmsghdrp_t) mmsg;
+	syscallarg(unsigned int) vlen;
+	syscallarg(unsigned int) flags;
+	syscallarg(netbsd32_timespecp_t) timeout;
+};
+check_syscall_args(netbsd32_recvmmsg)
+
+struct netbsd32_sendmmsg_args {
+	syscallarg(int) s;
+	syscallarg(netbsd32_mmsghdrp_t) mmsg;
+	syscallarg(unsigned int) vlen;
+	syscallarg(unsigned int) flags;
+};
+check_syscall_args(netbsd32_sendmmsg)
+
 struct netbsd32_clock_nanosleep_args {
 	syscallarg(netbsd32_clockid_t) clock_id;
 	syscallarg(int) flags;
@@ -3400,6 +3417,10 @@ int	netbsd32___quotactl(struct lwp *, co
 
 int	netbsd32_posix_spawn(struct lwp *, const struct netbsd32_posix_spawn_args *, register_t *);
 
+int	netbsd32_recvmmsg(struct lwp *, const struct netbsd32_recvmmsg_args *, register_t *);
+
+int	netbsd32_sendmmsg(struct lwp *, const struct netbsd32_sendmmsg_args *, register_t *);
+
 int	netbsd32_clock_nanosleep(struct lwp *, const struct netbsd32_clock_nanosleep_args *, register_t *);
 
 int	netbsd32lwp_park60(struct lwp *, const struct netbsd32lwp_park60_args *, register_t *);

Index: src/sys/compat/netbsd32/netbsd32_syscalls.c
diff -u src/sys/compat/netbsd32/netbsd32_syscalls.c:1.132 src/sys/compat/netbsd32/netbsd32_syscalls.c:1.133
--- src/sys/compat/netbsd32/netbsd32_syscalls.c:1.132	Sat Jan  6 11:41:23 2018
+++ src/sys/compat/netbsd32/netbsd32_syscalls.c	Wed May  9 22:36:26 2018
@@ -1,14 +1,14 @@
-/* $NetBSD: netbsd32_syscalls.c,v 1.132 2018/01/06 16:41:23 kamil Exp $ */
+/* $NetBSD: netbsd32_syscalls.c,v 1.133 2018/05/10 02:36:26 christos Exp $ */
 

CVS commit: src/sys/compat/netbsd32

2018-04-13 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Sat Apr 14 04:04:39 UTC 2018

Modified Files:
src/sys/compat/netbsd32: netbsd32.h

Log Message:
redo the previous -- compat/sys/siginfo.h is already included
later, as is another header.  move them up near the top.


To generate a diff of this commit:
cvs rdiff -u -r1.116 -r1.117 src/sys/compat/netbsd32/netbsd32.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32.h
diff -u src/sys/compat/netbsd32/netbsd32.h:1.116 src/sys/compat/netbsd32/netbsd32.h:1.117
--- src/sys/compat/netbsd32/netbsd32.h:1.116	Mon Dec 18 00:33:32 2017
+++ src/sys/compat/netbsd32/netbsd32.h	Sat Apr 14 04:04:39 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32.h,v 1.116 2017/12/18 00:33:32 mrg Exp $	*/
+/*	$NetBSD: netbsd32.h,v 1.117 2018/04/14 04:04:39 mrg Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001, 2008, 2015 Matthew R. Green
@@ -50,6 +50,7 @@
 #include 
 #include 
 #include 
+#include 
 
 #include 
 
@@ -1122,8 +1123,6 @@ int	coredump_netbsd32(struct lwp *, stru
 /*
  * random other stuff
  */
-#include 
-#include 
 
 vaddr_t netbsd32_vm_default_addr(struct proc *, vaddr_t, vsize_t, int);
 void netbsd32_adjust_limits(struct proc *);



CVS commit: src/sys/compat/netbsd32

2018-03-06 Thread Michael van Elst
Module Name:src
Committed By:   mlelstv
Date:   Tue Mar  6 07:59:59 UTC 2018

Modified Files:
src/sys/compat/netbsd32: netbsd32_ioctl.c netbsd32_ioctl.h

Log Message:
Add DIOCLWEDGES


To generate a diff of this commit:
cvs rdiff -u -r1.91 -r1.92 src/sys/compat/netbsd32/netbsd32_ioctl.c
cvs rdiff -u -r1.58 -r1.59 src/sys/compat/netbsd32/netbsd32_ioctl.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_ioctl.c
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.c:1.91 src/sys/compat/netbsd32/netbsd32_ioctl.c:1.92
--- src/sys/compat/netbsd32/netbsd32_ioctl.c:1.91	Fri Jan 19 23:38:56 2018
+++ src/sys/compat/netbsd32/netbsd32_ioctl.c	Tue Mar  6 07:59:59 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.c,v 1.91 2018/01/19 23:38:56 macallan Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.c,v 1.92 2018/03/06 07:59:59 mlelstv Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -31,7 +31,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.91 2018/01/19 23:38:56 macallan Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.92 2018/03/06 07:59:59 mlelstv Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ntp.h"
@@ -535,6 +535,18 @@ netbsd32_to_devrescanargs(
 	p->locators = NETBSD32PTR64(s32p->locators);
 }
 
+static inline void
+netbsd32_to_dkwedge_list(
+const struct netbsd32_dkwedge_list *s32p,
+struct dkwedge_list *p,
+u_long cmd)
+{
+	p->dkwl_buf = s32p->dkwl_buf;
+	p->dkwl_bufsize = s32p->dkwl_bufsize;
+	p->dkwl_nwedges = s32p->dkwl_nwedges;
+	p->dkwl_ncopied = s32p->dkwl_ncopied;
+}
+
 /*
  * handle ioctl conversions from 64-bit kernel -> netbsd32
  */
@@ -977,6 +989,18 @@ netbsd32_from_devrescanargs(
 	NETBSD32PTR32(s32p->locators, p->locators);
 }
 
+static inline void
+netbsd32_from_dkwedge_list(
+const struct dkwedge_list *p,
+struct netbsd32_dkwedge_list *s32p,
+u_long cmd)
+{
+	s32p->dkwl_buf = p->dkwl_buf;
+	s32p->dkwl_bufsize = p->dkwl_bufsize;
+	s32p->dkwl_nwedges = p->dkwl_nwedges;
+	s32p->dkwl_ncopied = p->dkwl_ncopied;
+}
+
 #ifdef NTP
 static int
 netbsd32_do_clockctl_ntp_adjtime(struct clockctl_ntp_adjtime *args)
@@ -1433,6 +1457,9 @@ netbsd32_ioctl(struct lwp *l, const stru
 	case DRVGETEVENT32:
 		IOCTL_STRUCT_CONV_TO(DRVGETEVENT, plistref);
 
+	case DIOCLWEDGES32:
+		IOCTL_STRUCT_CONV_TO(DIOCLWEDGES, dkwedge_list);
+
 	default:
 #ifdef NETBSD32_MD_IOCTL
 		error = netbsd32_md_ioctl(fp, com, data32, l);

Index: src/sys/compat/netbsd32/netbsd32_ioctl.h
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.h:1.58 src/sys/compat/netbsd32/netbsd32_ioctl.h:1.59
--- src/sys/compat/netbsd32/netbsd32_ioctl.h:1.58	Fri Jan 19 23:38:56 2018
+++ src/sys/compat/netbsd32/netbsd32_ioctl.h	Tue Mar  6 07:59:59 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.h,v 1.58 2018/01/19 23:38:56 macallan Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.h,v 1.59 2018/03/06 07:59:59 mlelstv Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -633,3 +633,15 @@ struct netbsd32_devrescanargs {
 #define DRVCTLCOMMAND32		_IOWR('D', 125, struct netbsd32_plistref)
 #define	DRVLISTDEV32		_IOWR('D', 127, struct netbsd32_devlistargs)
 #define DRVGETEVENT32		_IOR('D', 128, struct netbsd32_plistref)
+
+/* From sys/disk.h, sys/dkio.h */
+
+struct netbsd32_dkwedge_list {
+	void			*dkwl_buf;	/* storage for dkwedge_info array */
+	netbsd32_size_t		dkwl_bufsize;	/* size	of that	buffer */
+	u_int			dkwl_nwedges;	/* total number	of wedges */
+	u_int			dkwl_ncopied;	/* number actually copied */
+};
+
+#define DIOCLWEDGES32		_IOWR('d', 124, struct netbsd32_dkwedge_list)
+



CVS commit: src/sys/compat/netbsd32

2018-01-19 Thread Michael Lorenz
Module Name:src
Committed By:   macallan
Date:   Fri Jan 19 23:38:56 UTC 2018

Modified Files:
src/sys/compat/netbsd32: netbsd32_ioctl.c netbsd32_ioctl.h

Log Message:
add conversion goop for WSDISPLAYIO_LDFONT and _SFONT
tested on mips64


To generate a diff of this commit:
cvs rdiff -u -r1.90 -r1.91 src/sys/compat/netbsd32/netbsd32_ioctl.c
cvs rdiff -u -r1.57 -r1.58 src/sys/compat/netbsd32/netbsd32_ioctl.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_ioctl.c
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.c:1.90 src/sys/compat/netbsd32/netbsd32_ioctl.c:1.91
--- src/sys/compat/netbsd32/netbsd32_ioctl.c:1.90	Sun Nov 26 17:46:13 2017
+++ src/sys/compat/netbsd32/netbsd32_ioctl.c	Fri Jan 19 23:38:56 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.c,v 1.90 2017/11/26 17:46:13 jmcneill Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.c,v 1.91 2018/01/19 23:38:56 macallan Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -31,7 +31,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.90 2017/11/26 17:46:13 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.91 2018/01/19 23:38:56 macallan Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ntp.h"
@@ -400,6 +400,31 @@ netbsd32_to_wsdisplay_cmap(struct netbsd
 }
 
 static inline void
+netbsd32_to_wsdisplay_font(struct netbsd32_wsdisplay_font *f32,
+	   struct wsdisplay_font *f,
+	   u_long cmd)
+{
+	f->name = NETBSD32PTR64(f32->name);
+	f->firstchar = f32->firstchar;
+	f->numchars = f32->numchars;
+	f->encoding = f32->encoding;
+	f->fontwidth = f32->fontwidth;
+	f->fontheight = f32->fontheight;
+	f->stride = f32->stride;
+	f->bitorder = f32->bitorder;
+	f->byteorder = f32->byteorder;
+	f->data = NETBSD32PTR64(f32->data);
+}
+
+static inline void
+netbsd32_to_wsdisplay_usefontdata(struct netbsd32_wsdisplay_usefontdata *f32,
+	   struct wsdisplay_usefontdata *f,
+	   u_long cmd)
+{
+	f->name = NETBSD32PTR64(f32->name);
+}
+
+static inline void
 netbsd32_to_clockctl_settimeofday(
 const struct netbsd32_clockctl_settimeofday *s32p,
 struct clockctl_settimeofday *p,
@@ -767,6 +792,20 @@ netbsd32_from_wsdisplay_cmap(struct wsdi
 }
 
 static inline void
+netbsd32_from_wsdisplay_font(struct wsdisplay_font *f,
+	struct netbsd32_wsdisplay_font *f32,
+	u_long cmd)
+{
+}
+
+static inline void
+netbsd32_from_wsdisplay_usefontdata(struct wsdisplay_usefontdata *f,
+	struct netbsd32_wsdisplay_usefontdata *f32,
+	u_long cmd)
+{
+}
+
+static inline void
 netbsd32_from_ieee80211req(struct ieee80211req *ireq,
 			   struct netbsd32_ieee80211req *ireq32, u_long cmd)
 {
@@ -1317,6 +1356,11 @@ netbsd32_ioctl(struct lwp *l, const stru
 	case WSDISPLAYIO_PUTCMAP32:
 		IOCTL_STRUCT_CONV_TO(WSDISPLAYIO_PUTCMAP, wsdisplay_cmap);
 
+	case WSDISPLAYIO_LDFONT32:
+		IOCTL_STRUCT_CONV_TO(WSDISPLAYIO_LDFONT, wsdisplay_font);
+	case WSDISPLAYIO_SFONT32:
+		IOCTL_STRUCT_CONV_TO(WSDISPLAYIO_SFONT, wsdisplay_usefontdata);
+
 	case SIOCS8021132:
 		IOCTL_STRUCT_CONV_TO(SIOCS80211, ieee80211req);
 	case SIOCG8021132:

Index: src/sys/compat/netbsd32/netbsd32_ioctl.h
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.h:1.57 src/sys/compat/netbsd32/netbsd32_ioctl.h:1.58
--- src/sys/compat/netbsd32/netbsd32_ioctl.h:1.57	Sun Nov 26 17:46:13 2017
+++ src/sys/compat/netbsd32/netbsd32_ioctl.h	Fri Jan 19 23:38:56 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.h,v 1.57 2017/11/26 17:46:13 jmcneill Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.h,v 1.58 2018/01/19 23:38:56 macallan Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -179,6 +179,21 @@ struct netbsd32_wsdisplay_cursor {
 #define	WSDISPLAYIO_GCURSOR32	_IOWR('W', 73, struct netbsd32_wsdisplay_cursor)
 #define	WSDISPLAYIO_SCURSOR32	_IOW('W', 74, struct netbsd32_wsdisplay_cursor)
 
+struct netbsd32_wsdisplay_font {
+	netbsd32_charp name;
+	int firstchar, numchars;
+	int encoding;
+	u_int fontwidth, fontheight, stride;
+	int bitorder, byteorder;
+	netbsd32_charp data;
+};
+#define	WSDISPLAYIO_LDFONT32	_IOW('W', 77, struct netbsd32_wsdisplay_font)
+
+struct netbsd32_wsdisplay_usefontdata {
+	netbsd32_charp name;
+};
+#define	WSDISPLAYIO_SFONT32	_IOW('W', 80, struct netbsd32_wsdisplay_usefontdata)
+
 /* can wait! */
 #if 0
 dev/ccdvar.h:219:#define CCDIOCSET	_IOWR('F', 16, struct ccd_ioctl)   /* enable ccd */



CVS commit: src/sys/compat/netbsd32

2017-12-18 Thread Kamil Rytarowski
Module Name:src
Committed By:   kamil
Date:   Tue Dec 19 07:58:50 UTC 2017

Modified Files:
src/sys/compat/netbsd32: netbsd32_syscall.h netbsd32_syscallargs.h
netbsd32_systrace_args.c syscalls.master

Log Message:
Sync syscalls.master in compat_netbsd32(8) with kern/syscalls.master

___lwp_part60 removed 'const' from the ts argument.

'const struct timespec *ts' -> 'struct timespec *ts'

Sponsored by 


To generate a diff of this commit:
cvs rdiff -u -r1.129 -r1.130 src/sys/compat/netbsd32/netbsd32_syscall.h \
src/sys/compat/netbsd32/netbsd32_syscallargs.h
cvs rdiff -u -r1.19 -r1.20 src/sys/compat/netbsd32/netbsd32_systrace_args.c
cvs rdiff -u -r1.115 -r1.116 src/sys/compat/netbsd32/syscalls.master

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_syscall.h
diff -u src/sys/compat/netbsd32/netbsd32_syscall.h:1.129 src/sys/compat/netbsd32/netbsd32_syscall.h:1.130
--- src/sys/compat/netbsd32/netbsd32_syscall.h:1.129	Wed May 10 06:19:49 2017
+++ src/sys/compat/netbsd32/netbsd32_syscall.h	Tue Dec 19 07:58:50 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: netbsd32_syscall.h,v 1.129 2017/05/10 06:19:49 riastradh Exp $ */
+/* $NetBSD: netbsd32_syscall.h,v 1.130 2017/12/19 07:58:50 kamil Exp $ */
 
 /*
  * System call numbers.
@@ -1248,7 +1248,7 @@
 /* syscall: "netbsd32_clock_nanosleep" ret: "int" args: "netbsd32_clockid_t" "int" "const netbsd32_timespecp_t" "netbsd32_timespecp_t" */
 #define	NETBSD32_SYS_netbsd32_clock_nanosleep	477
 
-/* syscall: "netbsd32lwp_park60" ret: "int" args: "netbsd32_clockid_t" "int" "const netbsd32_timespecp_t" "lwpid_t" "netbsd32_voidp" "netbsd32_voidp" */
+/* syscall: "netbsd32lwp_park60" ret: "int" args: "netbsd32_clockid_t" "int" "netbsd32_timespecp_t" "lwpid_t" "netbsd32_voidp" "netbsd32_voidp" */
 #define	NETBSD32_SYS_netbsd32lwp_park60	478
 
 /* syscall: "netbsd32_posix_fallocate" ret: "int" args: "int" "int" "netbsd32_off_t" "netbsd32_off_t" */
Index: src/sys/compat/netbsd32/netbsd32_syscallargs.h
diff -u src/sys/compat/netbsd32/netbsd32_syscallargs.h:1.129 src/sys/compat/netbsd32/netbsd32_syscallargs.h:1.130
--- src/sys/compat/netbsd32/netbsd32_syscallargs.h:1.129	Wed May 10 06:19:49 2017
+++ src/sys/compat/netbsd32/netbsd32_syscallargs.h	Tue Dec 19 07:58:50 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: netbsd32_syscallargs.h,v 1.129 2017/05/10 06:19:49 riastradh Exp $ */
+/* $NetBSD: netbsd32_syscallargs.h,v 1.130 2017/12/19 07:58:50 kamil Exp $ */
 
 /*
  * System call argument lists.
@@ -2563,7 +2563,7 @@ check_syscall_args(netbsd32_clock_nanosl
 struct netbsd32lwp_park60_args {
 	syscallarg(netbsd32_clockid_t) clock_id;
 	syscallarg(int) flags;
-	syscallarg(const netbsd32_timespecp_t) ts;
+	syscallarg(netbsd32_timespecp_t) ts;
 	syscallarg(lwpid_t) unpark;
 	syscallarg(netbsd32_voidp) hint;
 	syscallarg(netbsd32_voidp) unparkhint;

Index: src/sys/compat/netbsd32/netbsd32_systrace_args.c
diff -u src/sys/compat/netbsd32/netbsd32_systrace_args.c:1.19 src/sys/compat/netbsd32/netbsd32_systrace_args.c:1.20
--- src/sys/compat/netbsd32/netbsd32_systrace_args.c:1.19	Wed May 10 06:19:49 2017
+++ src/sys/compat/netbsd32/netbsd32_systrace_args.c	Tue Dec 19 07:58:50 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: netbsd32_systrace_args.c,v 1.19 2017/05/10 06:19:49 riastradh Exp $ */
+/* $NetBSD: netbsd32_systrace_args.c,v 1.20 2017/12/19 07:58:50 kamil Exp $ */
 
 /*
  * System call argument to DTrace register array converstion.
@@ -3423,7 +3423,7 @@ systrace_args(register_t sysnum, const v
 		const struct netbsd32lwp_park60_args *p = params;
 		iarg[0] = SCARG(p, clock_id); /* netbsd32_clockid_t */
 		iarg[1] = SCARG(p, flags); /* int */
-		uarg[2] = (intptr_t) SCARG(p, ts).i32; /* const netbsd32_timespecp_t */
+		uarg[2] = (intptr_t) SCARG(p, ts).i32; /* netbsd32_timespecp_t */
 		iarg[3] = SCARG(p, unpark); /* lwpid_t */
 		uarg[4] = (intptr_t) SCARG(p, hint).i32; /* netbsd32_voidp */
 		uarg[5] = (intptr_t) SCARG(p, unparkhint).i32; /* netbsd32_voidp */
@@ -9265,7 +9265,7 @@ systrace_entry_setargdesc(int sysnum, in
 			p = "int";
 			break;
 		case 2:
-			p = "const netbsd32_timespecp_t";
+			p = "netbsd32_timespecp_t";
 			break;
 		case 3:
 			p = "lwpid_t";

Index: src/sys/compat/netbsd32/syscalls.master
diff -u src/sys/compat/netbsd32/syscalls.master:1.115 src/sys/compat/netbsd32/syscalls.master:1.116
--- src/sys/compat/netbsd32/syscalls.master:1.115	Wed Oct 19 09:44:01 2016
+++ src/sys/compat/netbsd32/syscalls.master	Tue Dec 19 07:58:50 2017
@@ -1,4 +1,4 @@
-	$NetBSD: syscalls.master,v 1.115 2016/10/19 09:44:01 skrll Exp $
+	$NetBSD: syscalls.master,v 1.116 2017/12/19 07:58:50 kamil Exp $
 
 ;	from: NetBSD: syscalls.master,v 1.81 1998/07/05 08:49:50 jonathan Exp
 ;	@(#)syscalls.master	8.2 (Berkeley) 1/13/94
@@ -1047,7 +1047,7 @@
 			netbsd32_timespecp_t rmtp); }
 478	STD 		{ int|netbsd32|60|_lwp_park(\
 			netbsd32_clockid_t 

CVS commit: src/sys/compat/netbsd32

2017-12-17 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Dec 18 00:33:32 UTC 2017

Modified Files:
src/sys/compat/netbsd32: netbsd32.h

Log Message:
include  for siginfo32_t.


To generate a diff of this commit:
cvs rdiff -u -r1.115 -r1.116 src/sys/compat/netbsd32/netbsd32.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32.h
diff -u src/sys/compat/netbsd32/netbsd32.h:1.115 src/sys/compat/netbsd32/netbsd32.h:1.116
--- src/sys/compat/netbsd32/netbsd32.h:1.115	Sun Dec 17 20:59:27 2017
+++ src/sys/compat/netbsd32/netbsd32.h	Mon Dec 18 00:33:32 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32.h,v 1.115 2017/12/17 20:59:27 christos Exp $	*/
+/*	$NetBSD: netbsd32.h,v 1.116 2017/12/18 00:33:32 mrg Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001, 2008, 2015 Matthew R. Green
@@ -49,6 +49,7 @@
 #include 
 #include 
 #include 
+#include 
 
 #include 
 



CVS commit: src/sys/compat/netbsd32

2017-12-06 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Wed Dec  6 19:15:27 UTC 2017

Modified Files:
src/sys/compat/netbsd32: netbsd32_netbsd.c netbsd32_signal.c

Log Message:
disable 32 bit signal ktrace records; 32 bit traced process produce 64 bit
trace records, the only record that we can't parse is that one :-)
XXX: pullup-8


To generate a diff of this commit:
cvs rdiff -u -r1.207 -r1.208 src/sys/compat/netbsd32/netbsd32_netbsd.c
cvs rdiff -u -r1.43 -r1.44 src/sys/compat/netbsd32/netbsd32_signal.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_netbsd.c
diff -u src/sys/compat/netbsd32/netbsd32_netbsd.c:1.207 src/sys/compat/netbsd32/netbsd32_netbsd.c:1.208
--- src/sys/compat/netbsd32/netbsd32_netbsd.c:1.207	Mon Jul 31 11:38:01 2017
+++ src/sys/compat/netbsd32/netbsd32_netbsd.c	Wed Dec  6 14:15:27 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_netbsd.c,v 1.207 2017/07/31 15:38:01 maxv Exp $	*/
+/*	$NetBSD: netbsd32_netbsd.c,v 1.208 2017/12/06 19:15:27 christos Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001, 2008 Matthew R. Green
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_netbsd.c,v 1.207 2017/07/31 15:38:01 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_netbsd.c,v 1.208 2017/12/06 19:15:27 christos Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ddb.h"
@@ -159,7 +159,11 @@ struct emul emul_netbsd32 = {
 	.e_usertrap =		NULL,
 	.e_ucsize =		sizeof(ucontext32_t),
 	.e_startlwp =		startlwp32,
-	.e_ktrpsig =		netbsd32_ktrpsig
+#ifdef notyet
+	.e_ktrpsig =		netbsd32_ktrpsig,
+#else
+	.e_ktrpsig =		NULL,
+#endif
 };
 
 /*

Index: src/sys/compat/netbsd32/netbsd32_signal.c
diff -u src/sys/compat/netbsd32/netbsd32_signal.c:1.43 src/sys/compat/netbsd32/netbsd32_signal.c:1.44
--- src/sys/compat/netbsd32/netbsd32_signal.c:1.43	Sun Sep 18 01:16:21 2016
+++ src/sys/compat/netbsd32/netbsd32_signal.c	Wed Dec  6 14:15:27 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_signal.c,v 1.43 2016/09/18 05:16:21 christos Exp $	*/
+/*	$NetBSD: netbsd32_signal.c,v 1.44 2017/12/06 19:15:27 christos Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_signal.c,v 1.43 2016/09/18 05:16:21 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_signal.c,v 1.44 2017/12/06 19:15:27 christos Exp $");
 
 #if defined(_KERNEL_OPT) 
 #include "opt_ktrace.h"
@@ -226,6 +226,7 @@ netbsd32_ksi32_to_ksi(struct _ksiginfo *
 	}
 }
 
+#ifdef notyet
 #ifdef KTRACE
 static void
 netbsd32_ksi_to_ksi32(struct __ksiginfo32 *si32, const struct _ksiginfo *si)
@@ -268,6 +269,7 @@ netbsd32_ksi_to_ksi32(struct __ksiginfo3
 	}
 }
 #endif
+#endif
 
 void
 netbsd32_si_to_si32(siginfo32_t *si32, const siginfo_t *si)
@@ -513,6 +515,7 @@ struct netbsd32_ktr_psig {
 	/* and optional siginfo_t */
 };
 
+#ifdef notyet
 #ifdef KTRACE
 void
 netbsd32_ktrpsig(int sig, sig_t action, const sigset_t *mask,
@@ -548,5 +551,4 @@ netbsd32_ktrpsig(int sig, sig_t action, 
 	ktraddentry(l, kte, KTA_WAITOK);
 }
 #endif
-
-
+#endif



CVS commit: src/sys/compat/netbsd32

2017-12-05 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Wed Dec  6 04:12:25 UTC 2017

Modified Files:
src/sys/compat/netbsd32: netbsd32_compat_60.c

Log Message:
don't forget to convert the timespec.
XXX: pullup-8


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/compat/netbsd32/netbsd32_compat_60.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_compat_60.c
diff -u src/sys/compat/netbsd32/netbsd32_compat_60.c:1.2 src/sys/compat/netbsd32/netbsd32_compat_60.c:1.3
--- src/sys/compat/netbsd32/netbsd32_compat_60.c:1.2	Thu Aug 21 02:40:35 2014
+++ src/sys/compat/netbsd32/netbsd32_compat_60.c	Tue Dec  5 23:12:25 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_compat_60.c,v 1.2 2014/08/21 06:40:35 maxv Exp $	*/
+/*	$NetBSD: netbsd32_compat_60.c,v 1.3 2017/12/06 04:12:25 christos Exp $	*/
 
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -36,7 +36,7 @@
  * POSSIBILITY OF SUCH DAMAGE.
  */
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_60.c,v 1.2 2014/08/21 06:40:35 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_60.c,v 1.3 2017/12/06 04:12:25 christos Exp $");
 
 #include 
 #include 
@@ -71,6 +71,7 @@ compat_60_netbsd32__lwp_park(struct lwp 
 		error = copyin(SCARG_P32(uap, ts), , sizeof ts32);
 		if (error != 0)
 			return error;
+		netbsd32_to_timespec(, );
 		tsp = 
 	}
 



CVS commit: src/sys/compat/netbsd32

2017-11-26 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sun Nov 26 17:46:13 UTC 2017

Modified Files:
src/sys/compat/netbsd32: netbsd32_ioctl.c netbsd32_ioctl.h

Log Message:
Add support for SIOCGIFGENERIC and SIOCSIFGENERIC ioctls.


To generate a diff of this commit:
cvs rdiff -u -r1.89 -r1.90 src/sys/compat/netbsd32/netbsd32_ioctl.c
cvs rdiff -u -r1.56 -r1.57 src/sys/compat/netbsd32/netbsd32_ioctl.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_ioctl.c
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.c:1.89 src/sys/compat/netbsd32/netbsd32_ioctl.c:1.90
--- src/sys/compat/netbsd32/netbsd32_ioctl.c:1.89	Sat Jan 14 16:34:44 2017
+++ src/sys/compat/netbsd32/netbsd32_ioctl.c	Sun Nov 26 17:46:13 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.c,v 1.89 2017/01/14 16:34:44 maya Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.c,v 1.90 2017/11/26 17:46:13 jmcneill Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -31,7 +31,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.89 2017/01/14 16:34:44 maya Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_ioctl.c,v 1.90 2017/11/26 17:46:13 jmcneill Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ntp.h"
@@ -116,8 +116,14 @@ netbsd32_to_ifreq(struct netbsd32_ifreq 
 	 * union member needs to be converted to 64 bits... this
 	 * is very driver specific and so we ignore it for now..
 	 */
-	if (cmd == SIOCGIFDATA || cmd == SIOCZIFDATA)
+	switch (cmd) {
+	case SIOCGIFDATA:
+	case SIOCZIFDATA:
+	case SIOCGIFGENERIC:
+	case SIOCSIFGENERIC:
 		p->ifr_data = (void *)NETBSD32PTR64(s32p->ifr_data);
+		break;
+	}
 }
 
 static inline void
@@ -534,8 +540,14 @@ netbsd32_from_ifreq(struct ifreq *p, str
 	 * is very driver specific and so we ignore it for now..
 	 */
 	memcpy(s32p, p, sizeof *s32p);
-	if (cmd == SIOCGIFDATA || cmd == SIOCZIFDATA)
+	switch (cmd) {
+	case SIOCGIFDATA:
+	case SIOCZIFDATA:
+	case SIOCGIFGENERIC:
+	case SIOCSIFGENERIC:
 		NETBSD32PTR32(s32p->ifr_data, p->ifr_data);
+		break;
+	}
 }
 
 static inline void
@@ -1233,6 +1245,11 @@ netbsd32_ioctl(struct lwp *l, const stru
 	case SIOCGIFMEDIA32:
 		IOCTL_STRUCT_CONV_TO(SIOCGIFMEDIA, ifmediareq);
 
+	case SIOCGIFGENERIC32:
+		IOCTL_STRUCT_CONV_TO(SIOCGIFGENERIC, ifreq);
+	case SIOCSIFGENERIC32:
+		IOCTL_STRUCT_CONV_TO(SIOCSIFGENERIC, ifreq);
+
 	case PPPOESETPARMS32:
 		IOCTL_STRUCT_CONV_TO(PPPOESETPARMS, pppoediscparms);
 	case PPPOEGETPARMS32:

Index: src/sys/compat/netbsd32/netbsd32_ioctl.h
diff -u src/sys/compat/netbsd32/netbsd32_ioctl.h:1.56 src/sys/compat/netbsd32/netbsd32_ioctl.h:1.57
--- src/sys/compat/netbsd32/netbsd32_ioctl.h:1.56	Mon Dec 26 23:05:06 2016
+++ src/sys/compat/netbsd32/netbsd32_ioctl.h	Sun Nov 26 17:46:13 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_ioctl.h,v 1.56 2016/12/26 23:05:06 christos Exp $	*/
+/*	$NetBSD: netbsd32_ioctl.h,v 1.57 2017/11/26 17:46:13 jmcneill Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -374,6 +374,9 @@ struct netbsd32_if_clonereq {
 #define	SIOCSIFMEDIA32	_IOWR('i', 53, struct netbsd32_ifreq)	/* set net media */
 #define	OSIOCSIFMEDIA32	_IOWR('i', 53, struct netbsd32_oifreq)	/* set net media */
 
+#define	SIOCSIFGENERIC32 _IOW('i', 57, struct netbsd32_ifreq)	/* generic IF set op */
+#define	SIOCGIFGENERIC32 _IOWR('i', 58, struct netbsd32_ifreq)	/* generic IF get op */
+
 #define	SIOCIFGCLONERS32 _IOWR('i', 120, struct netbsd32_if_clonereq) /* get cloners */
 
 #define	SIOCSIFMTU32	 _IOW('i', 127, struct netbsd32_ifreq)	/* set ifnet mtu */



CVS commit: src/sys/compat/netbsd32

2017-10-31 Thread Robert Elz
Module Name:src
Committed By:   kre
Date:   Tue Oct 31 16:10:25 UTC 2017

Modified Files:
src/sys/compat/netbsd32: netbsd32_sysctl.c

Log Message:
unconst machine_arch32 for sysctl data .. pointed out by Riccardo Mottola


To generate a diff of this commit:
cvs rdiff -u -r1.37 -r1.38 src/sys/compat/netbsd32/netbsd32_sysctl.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_sysctl.c
diff -u src/sys/compat/netbsd32/netbsd32_sysctl.c:1.37 src/sys/compat/netbsd32/netbsd32_sysctl.c:1.38
--- src/sys/compat/netbsd32/netbsd32_sysctl.c:1.37	Tue Oct 31 12:37:23 2017
+++ src/sys/compat/netbsd32/netbsd32_sysctl.c	Tue Oct 31 16:10:25 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_sysctl.c,v 1.37 2017/10/31 12:37:23 martin Exp $	*/
+/*	$NetBSD: netbsd32_sysctl.c,v 1.38 2017/10/31 16:10:25 kre Exp $	*/
 
 /*
  * Copyright (c) 2003 The NetBSD Foundation, Inc.
@@ -32,7 +32,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_sysctl.c,v 1.37 2017/10/31 12:37:23 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_sysctl.c,v 1.38 2017/10/31 16:10:25 kre Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ddb.h"
@@ -110,7 +110,7 @@ sysctl_hw_machine_arch32(SYSCTLFN_ARGS)
 	struct sysctlnode node = *rnode;
 #ifndef PROC_MACHINE_ARCH32
 	extern const char machine_arch32[];
-#define PROC_MACHINE_ARCH32(P)	machine_arch32
+#define PROC_MACHINE_ARCH32(P)	__UNCONST(machine_arch32)
 #endif
 
 	node.sysctl_data = PROC_MACHINE_ARCH32(l->l_proc);



CVS commit: src/sys/compat/netbsd32

2017-10-31 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Tue Oct 31 12:43:57 UTC 2017

Modified Files:
src/sys/compat/netbsd32: netbsd32_conv.h

Log Message:
PR kern/52681: fix msghdr conversion.


To generate a diff of this commit:
cvs rdiff -u -r1.32 -r1.33 src/sys/compat/netbsd32/netbsd32_conv.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_conv.h
diff -u src/sys/compat/netbsd32/netbsd32_conv.h:1.32 src/sys/compat/netbsd32/netbsd32_conv.h:1.33
--- src/sys/compat/netbsd32/netbsd32_conv.h:1.32	Mon Jul 31 15:38:01 2017
+++ src/sys/compat/netbsd32/netbsd32_conv.h	Tue Oct 31 12:43:56 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_conv.h,v 1.32 2017/07/31 15:38:01 maxv Exp $	*/
+/*	$NetBSD: netbsd32_conv.h,v 1.33 2017/10/31 12:43:56 martin Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -280,10 +280,10 @@ static __inline void
 netbsd32_from_msghdr(struct netbsd32_msghdr *mhp32, const struct msghdr *mhp)
 {
 
-	mhp32->msg_name = mhp32->msg_name;
-	mhp32->msg_namelen = mhp32->msg_namelen;
-	mhp32->msg_iovlen = mhp32->msg_iovlen;
-	mhp32->msg_control = mhp32->msg_control;
+	NETBSD32PTR32(mhp32->msg_name, mhp->msg_name);
+	mhp32->msg_namelen = mhp->msg_namelen;
+	mhp32->msg_iovlen = mhp->msg_iovlen;
+	NETBSD32PTR32(mhp32->msg_control, mhp->msg_control);
 	mhp32->msg_controllen = mhp->msg_controllen;
 	mhp32->msg_flags = mhp->msg_flags;
 }



CVS commit: src/sys/compat/netbsd32

2017-07-31 Thread Maxime Villard
Module Name:src
Committed By:   maxv
Date:   Mon Jul 31 15:38:01 UTC 2017

Modified Files:
src/sys/compat/netbsd32: netbsd32_conv.h netbsd32_netbsd.c

Log Message:
Remove references to COMPAT_OLDSOCK (itself removed years ago).


To generate a diff of this commit:
cvs rdiff -u -r1.31 -r1.32 src/sys/compat/netbsd32/netbsd32_conv.h
cvs rdiff -u -r1.206 -r1.207 src/sys/compat/netbsd32/netbsd32_netbsd.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_conv.h
diff -u src/sys/compat/netbsd32/netbsd32_conv.h:1.31 src/sys/compat/netbsd32/netbsd32_conv.h:1.32
--- src/sys/compat/netbsd32/netbsd32_conv.h:1.31	Sun Nov 13 13:59:45 2016
+++ src/sys/compat/netbsd32/netbsd32_conv.h	Mon Jul 31 15:38:01 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_conv.h,v 1.31 2016/11/13 13:59:45 rin Exp $	*/
+/*	$NetBSD: netbsd32_conv.h,v 1.32 2017/07/31 15:38:01 maxv Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -29,13 +29,6 @@
 #ifndef _COMPAT_NETBSD32_NETBSD32_CONV_H_
 #define _COMPAT_NETBSD32_NETBSD32_CONV_H_
 
-/*
- * Though COMPAT_OLDSOCK is needed only for COMPAT_43, SunOS, Linux,
- * HP-UX, FreeBSD, Ultrix, OSF1, we define it unconditionally so that
- * this would be module-safe.
- */
-#define COMPAT_OLDSOCK /* used by  */
-
 #include 
 #include 
 #include 

Index: src/sys/compat/netbsd32/netbsd32_netbsd.c
diff -u src/sys/compat/netbsd32/netbsd32_netbsd.c:1.206 src/sys/compat/netbsd32/netbsd32_netbsd.c:1.207
--- src/sys/compat/netbsd32/netbsd32_netbsd.c:1.206	Sat Apr 29 01:15:40 2017
+++ src/sys/compat/netbsd32/netbsd32_netbsd.c	Mon Jul 31 15:38:01 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_netbsd.c,v 1.206 2017/04/29 01:15:40 christos Exp $	*/
+/*	$NetBSD: netbsd32_netbsd.c,v 1.207 2017/07/31 15:38:01 maxv Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001, 2008 Matthew R. Green
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_netbsd.c,v 1.206 2017/04/29 01:15:40 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_netbsd.c,v 1.207 2017/07/31 15:38:01 maxv Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ddb.h"
@@ -39,13 +39,6 @@ __KERNEL_RCSID(0, "$NetBSD: netbsd32_net
 #include "opt_syscall_debug.h"
 #endif
 
-/*
- * Though COMPAT_OLDSOCK is needed only for COMPAT_43, SunOS, Linux,
- * HP-UX, FreeBSD, Ultrix, OSF1, we define it unconditionally so that
- * this would be module-safe.
- */
-#define COMPAT_OLDSOCK /* used by  */
-
 #include 
 #include 
 #include 



CVS commit: src/sys/compat/netbsd32

2017-04-13 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Thu Apr 13 09:46:59 UTC 2017

Modified Files:
src/sys/compat/netbsd32: netbsd32_compat_20.c

Log Message:
Switch compat_20_netbsd32_getfsstat() to mountlist iterator.


To generate a diff of this commit:
cvs rdiff -u -r1.35 -r1.36 src/sys/compat/netbsd32/netbsd32_compat_20.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_compat_20.c
diff -u src/sys/compat/netbsd32/netbsd32_compat_20.c:1.35 src/sys/compat/netbsd32/netbsd32_compat_20.c:1.36
--- src/sys/compat/netbsd32/netbsd32_compat_20.c:1.35	Tue Mar 28 18:44:04 2017
+++ src/sys/compat/netbsd32/netbsd32_compat_20.c	Thu Apr 13 09:46:59 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_compat_20.c,v 1.35 2017/03/28 18:44:04 chs Exp $	*/
+/*	$NetBSD: netbsd32_compat_20.c,v 1.36 2017/04/13 09:46:59 hannken Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_20.c,v 1.35 2017/03/28 18:44:04 chs Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_20.c,v 1.36 2017/04/13 09:46:59 hannken Exp $");
 
 #include 
 #include 
@@ -85,7 +85,8 @@ compat_20_netbsd32_getfsstat(struct lwp 
 	} */
 	int root = 0;
 	struct proc *p = l->l_proc;
-	struct mount *mp, *nmp;
+	mount_iterator_t *iter;
+	struct mount *mp;
 	struct statvfs *sb;
 	struct netbsd32_statfs sb32;
 	void *sfsp;
@@ -95,32 +96,24 @@ compat_20_netbsd32_getfsstat(struct lwp 
 	sb = STATVFSBUF_GET();
 	maxcount = SCARG(uap, bufsize) / sizeof(struct netbsd32_statfs);
 	sfsp = SCARG_P32(uap, buf);
-	mutex_enter(_lock);
+	mountlist_iterator_init();
 	count = 0;
-	for (mp = TAILQ_FIRST(); mp != NULL; mp = nmp) {
-		if (vfs_busy(mp, )) {
-			continue;
-		}
+	while ((mp = mountlist_iterator_next(iter)) != NULL) {
 		if (sfsp && count < maxcount) {
 			error = dostatvfs(mp, sb, l, SCARG(uap, flags), 0);
 			if (error) {
-vfs_unbusy(mp, false, );
 error = 0;
 continue;
 			}
 			compat_20_netbsd32_from_statvfs(sb, );
 			error = copyout(, sfsp, sizeof(sb32));
-			if (error) {
-vfs_unbusy(mp, false, NULL);
+			if (error)
 goto out;
-			}
 			sfsp = (char *)sfsp + sizeof(sb32);
 			root |= strcmp(sb->f_mntonname, "/") == 0;
 		}
 		count++;
-		vfs_unbusy(mp, false, );
 	}
-	mutex_exit(_lock);
 
 	if (root == 0 && p->p_cwdi->cwdi_rdir) {
 		/*
@@ -144,6 +137,7 @@ compat_20_netbsd32_getfsstat(struct lwp 
 	else
 		*retval = count;
 out:
+	mountlist_iterator_destroy(iter);
 	STATVFSBUF_PUT(sb);
 	return error;
 }



CVS commit: src/sys/compat/netbsd32

2017-03-28 Thread Chuck Silvers
Module Name:src
Committed By:   chs
Date:   Tue Mar 28 18:44:04 UTC 2017

Modified Files:
src/sys/compat/netbsd32: netbsd32_compat_20.c

Log Message:
never pass mp->mnt_stat to dostatvfs(), always use a separate buffer.
dostatvfs() clears its buffer, but mp->mnt_stat should never be cleared.


To generate a diff of this commit:
cvs rdiff -u -r1.34 -r1.35 src/sys/compat/netbsd32/netbsd32_compat_20.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_compat_20.c
diff -u src/sys/compat/netbsd32/netbsd32_compat_20.c:1.34 src/sys/compat/netbsd32/netbsd32_compat_20.c:1.35
--- src/sys/compat/netbsd32/netbsd32_compat_20.c:1.34	Fri Sep  5 09:21:54 2014
+++ src/sys/compat/netbsd32/netbsd32_compat_20.c	Tue Mar 28 18:44:04 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_compat_20.c,v 1.34 2014/09/05 09:21:54 matt Exp $	*/
+/*	$NetBSD: netbsd32_compat_20.c,v 1.35 2017/03/28 18:44:04 chs Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_20.c,v 1.34 2014/09/05 09:21:54 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_20.c,v 1.35 2017/03/28 18:44:04 chs Exp $");
 
 #include 
 #include 
@@ -166,12 +166,15 @@ compat_20_netbsd32_statfs(struct lwp *l,
 	if (error != 0)
 		return (error);
 	mp = vp->v_mount;
-	sb = >mnt_stat;
 	vrele(vp);
+	sb = STATVFSBUF_GET();
 	if ((error = dostatvfs(mp, sb, l, 0, 0)) != 0)
-		return (error);
+		goto out;
 	compat_20_netbsd32_from_statvfs(sb, );
-	return copyout(, SCARG_P32(uap, buf), sizeof(s32));
+	error = copyout(, SCARG_P32(uap, buf), sizeof(s32));
+out:
+	STATVFSBUF_PUT(sb);
+	return error;
 }
 
 int
@@ -191,12 +194,13 @@ compat_20_netbsd32_fstatfs(struct lwp *l
 	if ((error = fd_getvnode(SCARG(uap, fd), )) != 0)
 		return (error);
 	mp = fp->f_vnode->v_mount;
-	sb = >mnt_stat;
+	sb = STATVFSBUF_GET();
 	if ((error = dostatvfs(mp, sb, l, 0, 0)) != 0)
 		goto out;
 	compat_20_netbsd32_from_statvfs(sb, );
 	error = copyout(, SCARG_P32(uap, buf), sizeof(s32));
  out:
+	STATVFSBUF_PUT(sb);
 	fd_putfile(SCARG(uap, fd));
 	return (error);
 }



CVS commit: src/sys/compat/netbsd32

2017-02-26 Thread Nicolas Joly
Module Name:src
Committed By:   njoly
Date:   Sun Feb 26 10:26:19 UTC 2017

Modified Files:
src/sys/compat/netbsd32: netbsd32_time.c

Log Message:
Apply fix from natuve clock_nanosleep(2) to not copyout remaining time
struct if TIMER_ABSTIME flag is set.


To generate a diff of this commit:
cvs rdiff -u -r1.48 -r1.49 src/sys/compat/netbsd32/netbsd32_time.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_time.c
diff -u src/sys/compat/netbsd32/netbsd32_time.c:1.48 src/sys/compat/netbsd32/netbsd32_time.c:1.49
--- src/sys/compat/netbsd32/netbsd32_time.c:1.48	Fri Sep 23 14:16:32 2016
+++ src/sys/compat/netbsd32/netbsd32_time.c	Sun Feb 26 10:26:19 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_time.c,v 1.48 2016/09/23 14:16:32 skrll Exp $	*/
+/*	$NetBSD: netbsd32_time.c,v 1.49 2017/02/26 10:26:19 njoly Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_time.c,v 1.48 2016/09/23 14:16:32 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_time.c,v 1.49 2017/02/26 10:26:19 njoly Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ntp.h"
@@ -453,7 +453,8 @@ netbsd32_clock_nanosleep(struct lwp *l, 
 		goto out;
 
 	netbsd32_from_timespec(, );
-	if ((error1 = copyout(, SCARG_P32(uap, rmtp), sizeof(ts32))) != 0)
+	if ((SCARG(uap, flags) & TIMER_ABSTIME) == 0 &&
+	(error1 = copyout(, SCARG_P32(uap, rmtp), sizeof(ts32))) != 0)
 		error = error1;
 out:
 	*retval = error;



CVS commit: src/sys/compat/netbsd32

2017-01-25 Thread Jonathan A. Kollasch
Module Name:src
Committed By:   jakllsch
Date:   Wed Jan 25 21:45:39 UTC 2017

Modified Files:
src/sys/compat/netbsd32: netbsd32_exec.h

Log Message:
Catch netbsd32_copyargs() up to changes in r1.441 src/sys/kern/kern_exec.c


To generate a diff of this commit:
cvs rdiff -u -r1.32 -r1.33 src/sys/compat/netbsd32/netbsd32_exec.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/netbsd32/netbsd32_exec.h
diff -u src/sys/compat/netbsd32/netbsd32_exec.h:1.32 src/sys/compat/netbsd32/netbsd32_exec.h:1.33
--- src/sys/compat/netbsd32/netbsd32_exec.h:1.32	Fri Oct 24 21:07:55 2014
+++ src/sys/compat/netbsd32/netbsd32_exec.h	Wed Jan 25 21:45:39 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_exec.h,v 1.32 2014/10/24 21:07:55 christos Exp $	*/
+/*	$NetBSD: netbsd32_exec.h,v 1.33 2017/01/25 21:45:39 jakllsch Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -94,13 +94,12 @@ netbsd32_copyargs(struct lwp *l, struct 
 	int envc = arginfo->ps_nenvstr;
 	int error;
 
-	NETBSD32PTR32(dp, cpp + 
+	NETBSD32PTR32(dp, (char *)(cpp +
 	1 +/* int argc */
 	argc +			/* char *argv[] */
 	1 +/* \0 */
 	envc +			/* char *env[] */
-	1 +/* \0 */
-	/* XXX auxinfo multiplied by ptr size? */
+	1) +			/* \0 */
 	pack->ep_esch->es_arglen);	/* auxinfo */
 	sp = argp;
 



  1   2   3   >