Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
src: Merge christos's recent changes on HEAD
details: https://anonhg.NetBSD.org/src/rev/63d80ea6bbbf
branches: pgoyette-compat
changeset: 318120:63d80ea6bbbf
user: pgoyette <pgoyette%NetBSD.org@localhost>
date: Thu Apr 12 22:33:41 2018 +0000
description:
Merge christos's recent changes on HEAD
diffstat:
sys/compat/common/Makefile.inc | 6 +-
sys/compat/common/uipc_syscalls_40.c | 18 +++--
sys/compat/common/uipc_syscalls_50.c | 13 +--
sys/compat/sys/sockio.h | 12 ++-
sys/kern/kern_stub.c | 20 +++++-
sys/net/if.c | 115 ++++++++++------------------------
sys/rump/librump/rumpnet/net_stub.c | 11 +--
7 files changed, 85 insertions(+), 110 deletions(-)
diffs (truncated from 422 to 300 lines):
diff -r fb08c4cde159 -r 63d80ea6bbbf sys/compat/common/Makefile.inc
--- a/sys/compat/common/Makefile.inc Sat Apr 07 04:11:47 2018 +0000
+++ b/sys/compat/common/Makefile.inc Thu Apr 12 22:33:41 2018 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.inc,v 1.23.2.1 2018/03/13 08:53:06 pgoyette Exp $
+# $NetBSD: Makefile.inc,v 1.23.2.2 2018/04/12 22:33:41 pgoyette Exp $
#
# Configuration variables (default values are below):
#
@@ -17,7 +17,11 @@
# Default values:
COMPATDST?= ${.OBJDIR}/lib/compat
+.if !empty(OPT_MODULAR)
+COMPAT_AS?= library
+.else
COMPAT_AS?= obj
+.endif
COMPATDOTDIR?= ../../.
COMPATDIR= ${S:S@^.@${COMPATDOTDIR}@:Q}/compat/common
diff -r fb08c4cde159 -r 63d80ea6bbbf sys/compat/common/uipc_syscalls_40.c
--- a/sys/compat/common/uipc_syscalls_40.c Sat Apr 07 04:11:47 2018 +0000
+++ b/sys/compat/common/uipc_syscalls_40.c Thu Apr 12 22:33:41 2018 +0000
@@ -1,9 +1,9 @@
-/* $NetBSD: uipc_syscalls_40.c,v 1.15.2.5 2018/03/08 09:56:05 pgoyette Exp $ */
+/* $NetBSD: uipc_syscalls_40.c,v 1.15.2.6 2018/04/12 22:33:41 pgoyette Exp $ */
/* written by Pavel Cahyna, 2006. Public domain. */
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uipc_syscalls_40.c,v 1.15.2.5 2018/03/08 09:56:05 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uipc_syscalls_40.c,v 1.15.2.6 2018/04/12 22:33:41 pgoyette Exp $");
/*
* System call interface to the socket abstraction.
@@ -44,6 +44,14 @@
int bound;
struct psref psref;
+ switch (cmd) {
+ case OSIOCGIFCONF:
+ case OOSIOCGIFCONF:
+ break;
+ default:
+ return ENOSYS;
+ }
+
if (docopy) {
space = ifc->ifc_len;
ifrp = ifc->ifc_req;
@@ -153,14 +161,10 @@
return error;
}
-static int (*orig_compat_ifconf)(u_long, void *);
-static int (*orig_compat_ifconf)(u_long, void *);
-
void
if_40_init(void)
{
- orig_compat_ifconf = vec_compat_ifconf;
vec_compat_ifconf = compat_ifconf;
}
@@ -168,5 +172,5 @@
if_40_fini(void)
{
- vec_compat_ifconf = orig_compat_ifconf;
+ vec_compat_ifconf = (void *)enosys;
}
diff -r fb08c4cde159 -r 63d80ea6bbbf sys/compat/common/uipc_syscalls_50.c
--- a/sys/compat/common/uipc_syscalls_50.c Sat Apr 07 04:11:47 2018 +0000
+++ b/sys/compat/common/uipc_syscalls_50.c Thu Apr 12 22:33:41 2018 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: uipc_syscalls_50.c,v 1.3.56.3 2018/03/08 09:56:05 pgoyette Exp $ */
+/* $NetBSD: uipc_syscalls_50.c,v 1.3.56.4 2018/04/12 22:33:41 pgoyette Exp $ */
/*-
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -37,7 +37,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uipc_syscalls_50.c,v 1.3.56.3 2018/03/08 09:56:05 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uipc_syscalls_50.c,v 1.3.56.4 2018/04/12 22:33:41 pgoyette Exp $");
#include <sys/param.h>
#include <sys/kernel.h>
@@ -57,7 +57,7 @@
#include <compat/sys/if.h>
/*ARGSUSED*/
-int
+static int
compat_ifdatareq(struct lwp *l, u_long cmd, void *data)
{
struct oifdatareq *ifdr = data;
@@ -92,19 +92,16 @@
return 0;
default:
- return EINVAL;
+ return ENOSYS;
}
}
/* Save and restore compat vector as needed */
-int (*orig_compat_ifdatareq)(struct lwp *, u_long, void *);
-
void
if_50_init(void)
{
- orig_compat_ifdatareq = vec_compat_ifdatareq;
vec_compat_ifdatareq = compat_ifdatareq;
}
@@ -112,5 +109,5 @@
if_50_fini(void)
{
- vec_compat_ifdatareq = orig_compat_ifdatareq;
+ vec_compat_ifdatareq = (void *)enosys;
}
diff -r fb08c4cde159 -r 63d80ea6bbbf sys/compat/sys/sockio.h
--- a/sys/compat/sys/sockio.h Sat Apr 07 04:11:47 2018 +0000
+++ b/sys/compat/sys/sockio.h Thu Apr 12 22:33:41 2018 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: sockio.h,v 1.10.58.1 2018/03/08 01:37:46 pgoyette Exp $ */
+/* $NetBSD: sockio.h,v 1.10.58.2 2018/04/12 22:33:41 pgoyette Exp $ */
/*-
* Copyright (c) 1982, 1986, 1990, 1993, 1994
@@ -56,8 +56,10 @@
#endif /* _KERNEL_OPT */
+#define OIFNAMSIZ 16
+
struct oifreq {
- char ifr_name[IFNAMSIZ]; /* if name, e.g. "en0" */
+ char ifr_name[OIFNAMSIZ]; /* if name, e.g. "en0" */
union {
struct sockaddr ifru_addr;
struct sockaddr ifru_dstaddr;
@@ -114,7 +116,7 @@
};
struct oifdatareq {
- char ifdr_name[IFNAMSIZ]; /* if name, e.g. "en0" */
+ char ifdr_name[OIFNAMSIZ]; /* if name, e.g. "en0" */
struct oif_data ifdr_data;
};
@@ -178,7 +180,9 @@
(ni)->ifi_lastchange.tv_nsec = \
(oi)->ifi_lastchange.tv_usec * 1000; \
} while (/*CONSTCOND*/0)
+
#ifdef _KERNEL
+
void if_50_init(void);
void if_50_fini(void);
@@ -186,5 +190,7 @@
int compat_ifconf(u_long, void *);
int compat_ifdatareq(struct lwp *, u_long, void *);
__END_DECLS
+
#endif
+
#endif /* _COMPAT_SYS_SOCKIO_H_ */
diff -r fb08c4cde159 -r 63d80ea6bbbf sys/kern/kern_stub.c
--- a/sys/kern/kern_stub.c Sat Apr 07 04:11:47 2018 +0000
+++ b/sys/kern/kern_stub.c Thu Apr 12 22:33:41 2018 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: kern_stub.c,v 1.44.2.1 2018/03/10 03:33:27 pgoyette Exp $ */
+/* $NetBSD: kern_stub.c,v 1.44.2.2 2018/04/12 22:33:41 pgoyette Exp $ */
/*-
* Copyright (c) 2007, 2008 The NetBSD Foundation, Inc.
@@ -62,11 +62,12 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_stub.c,v 1.44.2.1 2018/03/10 03:33:27 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_stub.c,v 1.44.2.2 2018/04/12 22:33:41 pgoyette Exp $");
#ifdef _KERNEL_OPT
#include "opt_ktrace.h"
#include "opt_sysv.h"
+#include "opt_modular.h"
#endif
#include <sys/param.h>
@@ -87,6 +88,21 @@
bus_space_handle_t);
/*
+ * SYSV Semaphores, Shared Memory, Message Queues
+ */
+#ifndef MODULAR
+#ifndef SYSVMSG
+__strong_alias(msgctl1,enosys);
+#endif
+#ifndef SYSVSHM
+__strong_alias(shmctl1,enosys);
+#endif
+ #ifndef SYSVSEM
+ __strong_alias(semctl1,enosys);
+ #endif
+#endif
+
+/*
* ktrace stubs. ktruser() goes to enosys as we want to fail the syscall,
* but not kill the process: utrace() is a debugging feature.
*/
diff -r fb08c4cde159 -r 63d80ea6bbbf sys/net/if.c
--- a/sys/net/if.c Sat Apr 07 04:11:47 2018 +0000
+++ b/sys/net/if.c Thu Apr 12 22:33:41 2018 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: if.c,v 1.419.2.4 2018/03/08 00:25:30 pgoyette Exp $ */
+/* $NetBSD: if.c,v 1.419.2.5 2018/04/12 22:33:41 pgoyette Exp $ */
/*-
* Copyright (c) 1999, 2000, 2001, 2008 The NetBSD Foundation, Inc.
@@ -90,7 +90,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if.c,v 1.419.2.4 2018/03/08 00:25:30 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if.c,v 1.419.2.5 2018/04/12 22:33:41 pgoyette Exp $");
#if defined(_KERNEL_OPT)
#include "opt_inet.h"
@@ -157,7 +157,6 @@
#include <compat/sys/sockio.h>
#include <compat/sys/socket.h>
-#include <compat/sys/if.h>
MALLOC_DEFINE(M_IFADDR, "ifaddr", "interface address");
MALLOC_DEFINE(M_IFMADDR, "ether_multi", "link-level multicast address");
@@ -243,58 +242,12 @@
static void if_sysctl_setup(struct sysctllog **);
-/*
- * Pointer to stub or real compat_cvtcmd() depending on presence of
- * the compat module
- */
-u_long stub_compat_cvtcmd(u_long);
-u_long (*vec_compat_cvtcmd)(u_long) = stub_compat_cvtcmd;
-
-/* Similarly, pointer to compat_ifioctl() if it is present */
-
+/* Compatability vector functions */
+u_long (*vec_compat_cvtcmd)(u_long) = NULL;
int (*vec_compat_ifioctl)(struct socket *, u_long, u_long, void *,
struct lwp *) = NULL;
-
-/*
- * And a few more
- */
-int stub_compat_ifdatareq(struct lwp *, u_long, void *);
-int (*vec_compat_ifdatareq)(struct lwp *, u_long, void *) =
- stub_compat_ifdatareq;
-
-void stub_compat_ifreqo2n(struct oifreq *, struct ifreq *);
-void (*vec_compat_ifreqo2n)(struct oifreq *, struct ifreq *) =
- stub_compat_ifreqo2n;
-
-int stub_compat_ifconf(u_long, void *);
-int (*vec_compat_ifconf)(u_long, void *) = stub_compat_ifconf;
-
-/* The stub version of compat_cvtcmd() */
-u_long stub_compat_cvtcmd(u_long cmd)
-{
-
- return cmd;
-}
-
-/* The stub version of compat_ifdatareq() */
-int stub_compat_ifdatareq(struct lwp *l, u_long cmd, void *data)
-{
-
- return EINVAL;
-}
-
-/* The stub version of compat_ifreqo2n() */
-void stub_compat_ifreqo2n(struct oifreq *old, struct ifreq *new)
-{
-
-}
-
-/* The stub version of compat_ifconf() */
Home |
Main Index |
Thread Index |
Old Index