Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 9 Oct 2018 20:42:17 +0000 (UTC)
From:      Brooks Davis <brooks@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r339269 - in head/sys: amd64/linux amd64/linux32 compat/cloudabi32 compat/cloudabi64 i386/linux
Message-ID:  <201810092042.w99KgHMR010733@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: brooks
Date: Tue Oct  9 20:42:17 2018
New Revision: 339269
URL: https://svnweb.freebsd.org/changeset/base/339269

Log:
  Regenerated assorted syscall related files after:
   - r327895: Implement 'domainset'...
   - r329876: Use linux types for linux-specific syscalls
  
  Diff generated with:
  	find . -name syscalls.conf | xargs dirname | \
  	    xargs -n1 -I DIR make -C DIR sysent
  
  Approved by:	re (kib)
  Sponsored by:	DARPA, AFRL

Modified:
  head/sys/amd64/linux/linux_proto.h
  head/sys/amd64/linux/linux_systrace_args.c
  head/sys/amd64/linux32/linux32_proto.h
  head/sys/compat/cloudabi32/cloudabi32_proto.h
  head/sys/compat/cloudabi64/cloudabi64_proto.h
  head/sys/i386/linux/linux_proto.h

Modified: head/sys/amd64/linux/linux_proto.h
==============================================================================
--- head/sys/amd64/linux/linux_proto.h	Tue Oct  9 20:29:04 2018	(r339268)
+++ head/sys/amd64/linux/linux_proto.h	Tue Oct  9 20:42:17 2018	(r339269)
@@ -11,6 +11,7 @@
 #include <sys/signal.h>
 #include <sys/acl.h>
 #include <sys/cpuset.h>
+#include <sys/domainset.h>
 #include <sys/_ffcounter.h>
 #include <sys/_semaphore.h>
 #include <sys/ucontext.h>
@@ -66,8 +67,8 @@ struct linux_mmap2_args {
 };
 struct linux_mprotect_args {
 	char addr_l_[PADL_(caddr_t)]; caddr_t addr; char addr_r_[PADR_(caddr_t)];
-	char len_l_[PADL_(int)]; int len; char len_r_[PADR_(int)];
-	char prot_l_[PADL_(int)]; int prot; char prot_r_[PADR_(int)];
+	char len_l_[PADL_(l_int)]; l_int len; char len_r_[PADR_(l_int)];
+	char prot_l_[PADL_(l_int)]; l_int prot; char prot_r_[PADR_(l_int)];
 };
 struct linux_brk_args {
 	char dsend_l_[PADL_(l_ulong)]; l_ulong dsend; char dsend_r_[PADR_(l_ulong)];
@@ -173,8 +174,8 @@ struct linux_getpid_args {
 	register_t dummy;
 };
 struct linux_sendfile_args {
-	char out_l_[PADL_(int)]; int out; char out_r_[PADR_(int)];
-	char in_l_[PADL_(int)]; int in; char in_r_[PADR_(int)];
+	char out_l_[PADL_(l_int)]; l_int out; char out_r_[PADR_(l_int)];
+	char in_l_[PADL_(l_int)]; l_int in; char in_r_[PADR_(l_int)];
 	char offset_l_[PADL_(l_long *)]; l_long * offset; char offset_r_[PADR_(l_long *)];
 	char count_l_[PADL_(l_size_t)]; l_size_t count; char count_r_[PADR_(l_size_t)];
 };
@@ -281,7 +282,7 @@ struct linux_execve_args {
 	char envp_l_[PADL_(char **)]; char ** envp; char envp_r_[PADR_(char **)];
 };
 struct linux_exit_args {
-	char rval_l_[PADL_(int)]; int rval; char rval_r_[PADR_(int)];
+	char rval_l_[PADL_(l_int)]; l_int rval; char rval_r_[PADR_(l_int)];
 };
 struct linux_wait4_args {
 	char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)];
@@ -518,8 +519,8 @@ struct linux_sysfs_args {
 	char arg2_l_[PADL_(l_ulong)]; l_ulong arg2; char arg2_r_[PADR_(l_ulong)];
 };
 struct linux_getpriority_args {
-	char which_l_[PADL_(int)]; int which; char which_r_[PADR_(int)];
-	char who_l_[PADL_(int)]; int who; char who_r_[PADR_(int)];
+	char which_l_[PADL_(l_int)]; l_int which; char which_r_[PADR_(l_int)];
+	char who_l_[PADL_(l_int)]; l_int who; char who_r_[PADR_(l_int)];
 };
 struct linux_sched_setparam_args {
 	char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)];
@@ -654,19 +655,19 @@ struct linux_fremovexattr_args {
 	register_t dummy;
 };
 struct linux_tkill_args {
-	char tid_l_[PADL_(int)]; int tid; char tid_r_[PADR_(int)];
-	char sig_l_[PADL_(int)]; int sig; char sig_r_[PADR_(int)];
+	char tid_l_[PADL_(l_int)]; l_int tid; char tid_r_[PADR_(l_int)];
+	char sig_l_[PADL_(l_int)]; l_int sig; char sig_r_[PADR_(l_int)];
 };
 struct linux_time_args {
 	char tm_l_[PADL_(l_time_t *)]; l_time_t * tm; char tm_r_[PADR_(l_time_t *)];
 };
 struct linux_sys_futex_args {
 	char uaddr_l_[PADL_(void *)]; void * uaddr; char uaddr_r_[PADR_(void *)];
-	char op_l_[PADL_(int)]; int op; char op_r_[PADR_(int)];
-	char val_l_[PADL_(int)]; int val; char val_r_[PADR_(int)];
+	char op_l_[PADL_(l_int)]; l_int op; char op_r_[PADR_(l_int)];
+	char val_l_[PADL_(l_int)]; l_int val; char val_r_[PADR_(l_int)];
 	char timeout_l_[PADL_(struct l_timespec *)]; struct l_timespec * timeout; char timeout_r_[PADR_(struct l_timespec *)];
 	char uaddr2_l_[PADL_(void *)]; void * uaddr2; char uaddr2_r_[PADR_(void *)];
-	char val3_l_[PADL_(int)]; int val3; char val3_r_[PADR_(int)];
+	char val3_l_[PADL_(l_int)]; l_int val3; char val3_r_[PADR_(l_int)];
 };
 struct linux_sched_setaffinity_args {
 	char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)];
@@ -693,16 +694,16 @@ struct linux_getdents64_args {
 	char count_l_[PADL_(l_uint)]; l_uint count; char count_r_[PADR_(l_uint)];
 };
 struct linux_set_tid_address_args {
-	char tidptr_l_[PADL_(int *)]; int * tidptr; char tidptr_r_[PADR_(int *)];
+	char tidptr_l_[PADL_(l_int *)]; l_int * tidptr; char tidptr_r_[PADR_(l_int *)];
 };
 struct linux_semtimedop_args {
 	register_t dummy;
 };
 struct linux_fadvise64_args {
-	char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
+	char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)];
 	char offset_l_[PADL_(l_loff_t)]; l_loff_t offset; char offset_r_[PADR_(l_loff_t)];
 	char len_l_[PADL_(l_size_t)]; l_size_t len; char len_r_[PADR_(l_size_t)];
-	char advice_l_[PADL_(int)]; int advice; char advice_r_[PADR_(int)];
+	char advice_l_[PADL_(l_int)]; l_int advice; char advice_r_[PADR_(l_int)];
 };
 struct linux_timer_create_args {
 	char clock_id_l_[PADL_(clockid_t)]; clockid_t clock_id; char clock_id_r_[PADR_(clockid_t)];
@@ -744,7 +745,7 @@ struct linux_clock_nanosleep_args {
 	char rmtp_l_[PADL_(struct l_timespec *)]; struct l_timespec * rmtp; char rmtp_r_[PADR_(struct l_timespec *)];
 };
 struct linux_exit_group_args {
-	char error_code_l_[PADL_(int)]; int error_code; char error_code_r_[PADR_(int)];
+	char error_code_l_[PADL_(l_int)]; l_int error_code; char error_code_r_[PADR_(l_int)];
 };
 struct linux_epoll_wait_args {
 	char epfd_l_[PADL_(l_int)]; l_int epfd; char epfd_r_[PADR_(l_int)];
@@ -759,9 +760,9 @@ struct linux_epoll_ctl_args {
 	char event_l_[PADL_(struct epoll_event *)]; struct epoll_event * event; char event_r_[PADR_(struct epoll_event *)];
 };
 struct linux_tgkill_args {
-	char tgid_l_[PADL_(int)]; int tgid; char tgid_r_[PADR_(int)];
-	char pid_l_[PADL_(int)]; int pid; char pid_r_[PADR_(int)];
-	char sig_l_[PADL_(int)]; int sig; char sig_r_[PADR_(int)];
+	char tgid_l_[PADL_(l_int)]; l_int tgid; char tgid_r_[PADR_(l_int)];
+	char pid_l_[PADL_(l_int)]; l_int pid; char pid_r_[PADR_(l_int)];
+	char sig_l_[PADL_(l_int)]; l_int sig; char sig_r_[PADR_(l_int)];
 };
 struct linux_utimes_args {
 	char fname_l_[PADL_(char *)]; char * fname; char fname_r_[PADR_(char *)];
@@ -798,10 +799,10 @@ struct linux_kexec_load_args {
 	register_t dummy;
 };
 struct linux_waitid_args {
-	char idtype_l_[PADL_(int)]; int idtype; char idtype_r_[PADR_(int)];
+	char idtype_l_[PADL_(l_int)]; l_int idtype; char idtype_r_[PADR_(l_int)];
 	char id_l_[PADL_(l_pid_t)]; l_pid_t id; char id_r_[PADR_(l_pid_t)];
 	char info_l_[PADL_(l_siginfo_t *)]; l_siginfo_t * info; char info_r_[PADR_(l_siginfo_t *)];
-	char options_l_[PADL_(int)]; int options; char options_r_[PADR_(int)];
+	char options_l_[PADL_(l_int)]; l_int options; char options_r_[PADR_(l_int)];
 	char rusage_l_[PADL_(struct rusage *)]; struct rusage * rusage; char rusage_r_[PADR_(struct rusage *)];
 };
 struct linux_add_key_args {
@@ -1512,6 +1513,13 @@ int	linux_pkey_free(struct thread *, struct linux_pkey
 #define	nosys	linux_nosys
 
 #endif /* COMPAT_FREEBSD10 */
+
+
+#ifdef COMPAT_FREEBSD11
+
+#define	nosys	linux_nosys
+
+#endif /* COMPAT_FREEBSD11 */
 
 #define	LINUX_SYS_AUE_linux_open	AUE_OPEN_RWTC
 #define	LINUX_SYS_AUE_linux_newstat	AUE_STAT

Modified: head/sys/amd64/linux/linux_systrace_args.c
==============================================================================
--- head/sys/amd64/linux/linux_systrace_args.c	Tue Oct  9 20:29:04 2018	(r339268)
+++ head/sys/amd64/linux/linux_systrace_args.c	Tue Oct  9 20:42:17 2018	(r339269)
@@ -104,8 +104,8 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
 	case 10: {
 		struct linux_mprotect_args *p = params;
 		uarg[0] = (intptr_t) p->addr; /* caddr_t */
-		iarg[1] = p->len; /* int */
-		iarg[2] = p->prot; /* int */
+		iarg[1] = p->len; /* l_int */
+		iarg[2] = p->prot; /* l_int */
 		*n_args = 3;
 		break;
 	}
@@ -354,8 +354,8 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
 	/* linux_sendfile */
 	case 40: {
 		struct linux_sendfile_args *p = params;
-		iarg[0] = p->out; /* int */
-		iarg[1] = p->in; /* int */
+		iarg[0] = p->out; /* l_int */
+		iarg[1] = p->in; /* l_int */
 		uarg[2] = (intptr_t) p->offset; /* l_long * */
 		iarg[3] = p->count; /* l_size_t */
 		*n_args = 4;
@@ -538,7 +538,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
 	/* linux_exit */
 	case 60: {
 		struct linux_exit_args *p = params;
-		iarg[0] = p->rval; /* int */
+		iarg[0] = p->rval; /* l_int */
 		*n_args = 1;
 		break;
 	}
@@ -1160,8 +1160,8 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
 	/* linux_getpriority */
 	case 140: {
 		struct linux_getpriority_args *p = params;
-		iarg[0] = p->which; /* int */
-		iarg[1] = p->who; /* int */
+		iarg[0] = p->which; /* l_int */
+		iarg[1] = p->who; /* l_int */
 		*n_args = 2;
 		break;
 	}
@@ -1479,8 +1479,8 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
 	/* linux_tkill */
 	case 200: {
 		struct linux_tkill_args *p = params;
-		iarg[0] = p->tid; /* int */
-		iarg[1] = p->sig; /* int */
+		iarg[0] = p->tid; /* l_int */
+		iarg[1] = p->sig; /* l_int */
 		*n_args = 2;
 		break;
 	}
@@ -1495,11 +1495,11 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
 	case 202: {
 		struct linux_sys_futex_args *p = params;
 		uarg[0] = (intptr_t) p->uaddr; /* void * */
-		iarg[1] = p->op; /* int */
-		iarg[2] = p->val; /* int */
+		iarg[1] = p->op; /* l_int */
+		iarg[2] = p->val; /* l_int */
 		uarg[3] = (intptr_t) p->timeout; /* struct l_timespec * */
 		uarg[4] = (intptr_t) p->uaddr2; /* void * */
-		iarg[5] = p->val3; /* int */
+		iarg[5] = p->val3; /* l_int */
 		*n_args = 6;
 		break;
 	}
@@ -1550,7 +1550,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
 	/* linux_set_tid_address */
 	case 218: {
 		struct linux_set_tid_address_args *p = params;
-		uarg[0] = (intptr_t) p->tidptr; /* int * */
+		uarg[0] = (intptr_t) p->tidptr; /* l_int * */
 		*n_args = 1;
 		break;
 	}
@@ -1562,10 +1562,10 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
 	/* linux_fadvise64 */
 	case 221: {
 		struct linux_fadvise64_args *p = params;
-		iarg[0] = p->fd; /* int */
+		iarg[0] = p->fd; /* l_int */
 		iarg[1] = p->offset; /* l_loff_t */
 		iarg[2] = p->len; /* l_size_t */
-		iarg[3] = p->advice; /* int */
+		iarg[3] = p->advice; /* l_int */
 		*n_args = 4;
 		break;
 	}
@@ -1647,7 +1647,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
 	/* linux_exit_group */
 	case 231: {
 		struct linux_exit_group_args *p = params;
-		iarg[0] = p->error_code; /* int */
+		iarg[0] = p->error_code; /* l_int */
 		*n_args = 1;
 		break;
 	}
@@ -1674,9 +1674,9 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
 	/* linux_tgkill */
 	case 234: {
 		struct linux_tgkill_args *p = params;
-		iarg[0] = p->tgid; /* int */
-		iarg[1] = p->pid; /* int */
-		iarg[2] = p->sig; /* int */
+		iarg[0] = p->tgid; /* l_int */
+		iarg[1] = p->pid; /* l_int */
+		iarg[2] = p->sig; /* l_int */
 		*n_args = 3;
 		break;
 	}
@@ -1741,10 +1741,10 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
 	/* linux_waitid */
 	case 247: {
 		struct linux_waitid_args *p = params;
-		iarg[0] = p->idtype; /* int */
+		iarg[0] = p->idtype; /* l_int */
 		iarg[1] = p->id; /* l_pid_t */
 		uarg[2] = (intptr_t) p->info; /* l_siginfo_t * */
-		iarg[3] = p->options; /* int */
+		iarg[3] = p->options; /* l_int */
 		uarg[4] = (intptr_t) p->rusage; /* struct rusage * */
 		*n_args = 5;
 		break;
@@ -2619,10 +2619,10 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
 			p = "caddr_t";
 			break;
 		case 1:
-			p = "int";
+			p = "l_int";
 			break;
 		case 2:
-			p = "int";
+			p = "l_int";
 			break;
 		default:
 			break;
@@ -3036,10 +3036,10 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
 	case 40:
 		switch(ndx) {
 		case 0:
-			p = "int";
+			p = "l_int";
 			break;
 		case 1:
-			p = "int";
+			p = "l_int";
 			break;
 		case 2:
 			p = "userland l_long *";
@@ -3366,7 +3366,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
 	case 60:
 		switch(ndx) {
 		case 0:
-			p = "int";
+			p = "l_int";
 			break;
 		default:
 			break;
@@ -4356,10 +4356,10 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
 	case 140:
 		switch(ndx) {
 		case 0:
-			p = "int";
+			p = "l_int";
 			break;
 		case 1:
-			p = "int";
+			p = "l_int";
 			break;
 		default:
 			break;
@@ -4763,10 +4763,10 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
 	case 200:
 		switch(ndx) {
 		case 0:
-			p = "int";
+			p = "l_int";
 			break;
 		case 1:
-			p = "int";
+			p = "l_int";
 			break;
 		default:
 			break;
@@ -4789,10 +4789,10 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
 			p = "userland void *";
 			break;
 		case 1:
-			p = "int";
+			p = "l_int";
 			break;
 		case 2:
-			p = "int";
+			p = "l_int";
 			break;
 		case 3:
 			p = "userland struct l_timespec *";
@@ -4801,7 +4801,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
 			p = "userland void *";
 			break;
 		case 5:
-			p = "int";
+			p = "l_int";
 			break;
 		default:
 			break;
@@ -4875,7 +4875,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
 	case 218:
 		switch(ndx) {
 		case 0:
-			p = "userland int *";
+			p = "userland l_int *";
 			break;
 		default:
 			break;
@@ -4888,7 +4888,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
 	case 221:
 		switch(ndx) {
 		case 0:
-			p = "int";
+			p = "l_int";
 			break;
 		case 1:
 			p = "l_loff_t";
@@ -4897,7 +4897,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
 			p = "l_size_t";
 			break;
 		case 3:
-			p = "int";
+			p = "l_int";
 			break;
 		default:
 			break;
@@ -5033,7 +5033,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
 	case 231:
 		switch(ndx) {
 		case 0:
-			p = "int";
+			p = "l_int";
 			break;
 		default:
 			break;
@@ -5081,13 +5081,13 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
 	case 234:
 		switch(ndx) {
 		case 0:
-			p = "int";
+			p = "l_int";
 			break;
 		case 1:
-			p = "int";
+			p = "l_int";
 			break;
 		case 2:
-			p = "int";
+			p = "l_int";
 			break;
 		default:
 			break;
@@ -5140,7 +5140,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
 	case 247:
 		switch(ndx) {
 		case 0:
-			p = "int";
+			p = "l_int";
 			break;
 		case 1:
 			p = "l_pid_t";
@@ -5149,7 +5149,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
 			p = "userland l_siginfo_t *";
 			break;
 		case 3:
-			p = "int";
+			p = "l_int";
 			break;
 		case 4:
 			p = "userland struct rusage *";

Modified: head/sys/amd64/linux32/linux32_proto.h
==============================================================================
--- head/sys/amd64/linux32/linux32_proto.h	Tue Oct  9 20:29:04 2018	(r339268)
+++ head/sys/amd64/linux32/linux32_proto.h	Tue Oct  9 20:42:17 2018	(r339269)
@@ -11,6 +11,7 @@
 #include <sys/signal.h>
 #include <sys/acl.h>
 #include <sys/cpuset.h>
+#include <sys/domainset.h>
 #include <sys/_ffcounter.h>
 #include <sys/_semaphore.h>
 #include <sys/ucontext.h>
@@ -1706,6 +1707,13 @@ int	linux_pkey_free(struct thread *, struct linux_pkey
 #define	nosys	linux_nosys
 
 #endif /* COMPAT_FREEBSD10 */
+
+
+#ifdef COMPAT_FREEBSD11
+
+#define	nosys	linux_nosys
+
+#endif /* COMPAT_FREEBSD11 */
 
 #define	LINUX32_SYS_AUE_linux_exit	AUE_EXIT
 #define	LINUX32_SYS_AUE_linux_fork	AUE_FORK

Modified: head/sys/compat/cloudabi32/cloudabi32_proto.h
==============================================================================
--- head/sys/compat/cloudabi32/cloudabi32_proto.h	Tue Oct  9 20:29:04 2018	(r339268)
+++ head/sys/compat/cloudabi32/cloudabi32_proto.h	Tue Oct  9 20:42:17 2018	(r339269)
@@ -11,6 +11,7 @@
 #include <sys/signal.h>
 #include <sys/acl.h>
 #include <sys/cpuset.h>
+#include <sys/domainset.h>
 #include <sys/_ffcounter.h>
 #include <sys/_semaphore.h>
 #include <sys/ucontext.h>

Modified: head/sys/compat/cloudabi64/cloudabi64_proto.h
==============================================================================
--- head/sys/compat/cloudabi64/cloudabi64_proto.h	Tue Oct  9 20:29:04 2018	(r339268)
+++ head/sys/compat/cloudabi64/cloudabi64_proto.h	Tue Oct  9 20:42:17 2018	(r339269)
@@ -11,6 +11,7 @@
 #include <sys/signal.h>
 #include <sys/acl.h>
 #include <sys/cpuset.h>
+#include <sys/domainset.h>
 #include <sys/_ffcounter.h>
 #include <sys/_semaphore.h>
 #include <sys/ucontext.h>

Modified: head/sys/i386/linux/linux_proto.h
==============================================================================
--- head/sys/i386/linux/linux_proto.h	Tue Oct  9 20:29:04 2018	(r339268)
+++ head/sys/i386/linux/linux_proto.h	Tue Oct  9 20:42:17 2018	(r339269)
@@ -11,6 +11,7 @@
 #include <sys/signal.h>
 #include <sys/acl.h>
 #include <sys/cpuset.h>
+#include <sys/domainset.h>
 #include <sys/_ffcounter.h>
 #include <sys/_semaphore.h>
 #include <sys/ucontext.h>
@@ -1726,6 +1727,13 @@ int	linux_pkey_free(struct thread *, struct linux_pkey
 #define	nosys	linux_nosys
 
 #endif /* COMPAT_FREEBSD10 */
+
+
+#ifdef COMPAT_FREEBSD11
+
+#define	nosys	linux_nosys
+
+#endif /* COMPAT_FREEBSD11 */
 
 #define	LINUX_SYS_AUE_linux_exit	AUE_EXIT
 #define	LINUX_SYS_AUE_linux_fork	AUE_FORK



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