CVS commit: src/sys/kern

2016-01-08 Thread David A. Holland
Module Name:src
Committed By:   dholland
Date:   Sat Jan  9 07:52:38 UTC 2016

Modified Files:
src/sys/kern: kern_fork.c sys_process.c

Log Message:
When doing an unlock/relock dance to avoid lock inversion, it's important
to relock the lock you unlocked. Otherwise the lock you unlocked won't
walk the walk, not by a long chalk, and you'll end up getting mocked.

>From Mateusz Guzik of FreeBSD via freenode.

XXX: pullup-6 and -7


To generate a diff of this commit:
cvs rdiff -u -r1.194 -r1.195 src/sys/kern/kern_fork.c
cvs rdiff -u -r1.166 -r1.167 src/sys/kern/sys_process.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/kern/kern_fork.c
diff -u src/sys/kern/kern_fork.c:1.194 src/sys/kern/kern_fork.c:1.195
--- src/sys/kern/kern_fork.c:1.194	Fri Oct  2 16:54:15 2015
+++ src/sys/kern/kern_fork.c	Sat Jan  9 07:52:38 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: kern_fork.c,v 1.194 2015/10/02 16:54:15 christos Exp $	*/
+/*	$NetBSD: kern_fork.c,v 1.195 2016/01/09 07:52:38 dholland Exp $	*/
 
 /*-
  * Copyright (c) 1999, 2001, 2004, 2006, 2007, 2008 The NetBSD Foundation, Inc.
@@ -67,7 +67,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: kern_fork.c,v 1.194 2015/10/02 16:54:15 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_fork.c,v 1.195 2016/01/09 07:52:38 dholland Exp $");
 
 #include "opt_ktrace.h"
 #include "opt_dtrace.h"
@@ -486,6 +486,7 @@ fork1(struct lwp *l1, int flags, int exi
 if (!mutex_tryenter(parent1->p_lock)) {
 	mutex_exit(p2->p_lock);
 	mutex_enter(parent1->p_lock);
+	mutex_enter(p2->p_lock);
 }
 			} else if (parent1->p_lock > p2->p_lock) {
 mutex_enter(parent1->p_lock);

Index: src/sys/kern/sys_process.c
diff -u src/sys/kern/sys_process.c:1.166 src/sys/kern/sys_process.c:1.167
--- src/sys/kern/sys_process.c:1.166	Thu Jul  2 03:47:54 2015
+++ src/sys/kern/sys_process.c	Sat Jan  9 07:52:38 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: sys_process.c,v 1.166 2015/07/02 03:47:54 christos Exp $	*/
+/*	$NetBSD: sys_process.c,v 1.167 2016/01/09 07:52:38 dholland Exp $	*/
 
 /*-
  * Copyright (c) 2008, 2009 The NetBSD Foundation, Inc.
@@ -118,7 +118,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: sys_process.c,v 1.166 2015/07/02 03:47:54 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sys_process.c,v 1.167 2016/01/09 07:52:38 dholland Exp $");
 
 #include "opt_ptrace.h"
 #include "opt_ktrace.h"
@@ -782,6 +782,7 @@ sys_ptrace(struct lwp *l, const struct s
 if (!mutex_tryenter(parent->p_lock)) {
 	mutex_exit(t->p_lock);
 	mutex_enter(parent->p_lock);
+	mutex_enter(t->p_lock);
 }
 			} else if (parent->p_lock > t->p_lock) {
 mutex_enter(parent->p_lock);



CVS commit: src/sys/dev/filemon

2016-01-08 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sat Jan  9 07:27:31 UTC 2016

Modified Files:
src/sys/dev/filemon: filemon.c

Log Message:
When following process parent pointers, lock the new (parent) before
releasing the initial process.


To generate a diff of this commit:
cvs rdiff -u -r1.26 -r1.27 src/sys/dev/filemon/filemon.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/dev/filemon/filemon.c
diff -u src/sys/dev/filemon/filemon.c:1.26 src/sys/dev/filemon/filemon.c:1.27
--- src/sys/dev/filemon/filemon.c:1.26	Fri Jan  8 08:57:14 2016
+++ src/sys/dev/filemon/filemon.c	Sat Jan  9 07:27:31 2016
@@ -1,4 +1,4 @@
-/*  $NetBSD: filemon.c,v 1.26 2016/01/08 08:57:14 pgoyette Exp $ */
+/*  $NetBSD: filemon.c,v 1.27 2016/01/09 07:27:31 pgoyette Exp $ */
 /*
  * Copyright (c) 2010, Juniper Networks, Inc.
  *
@@ -25,7 +25,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: filemon.c,v 1.26 2016/01/08 08:57:14 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: filemon.c,v 1.27 2016/01/09 07:27:31 pgoyette Exp $");
 
 #include 
 #include 
@@ -154,13 +154,14 @@ filemon_pid_check(struct proc * p)
 	struct filemon *filemon;
 	struct proc * lp;
 
+	KASSERT(p != NULL);
 	if (!TAILQ_EMPTY(&filemons_inuse)) {
+		/*
+		 * make sure p cannot exit
+		 * until we have moved on to p_pptr
+		 */
+		rw_enter(&p->p_reflock, RW_READER);
 		while (p) {
-			/*
-			 * make sure p cannot exit
-			 * until we have moved on to p_pptr
-			 */
-			rw_enter(&p->p_reflock, RW_READER);
 			TAILQ_FOREACH(filemon, &filemons_inuse, fm_link) {
 if (p->p_pid == filemon->fm_pid) {
 	rw_exit(&p->p_reflock);
@@ -169,6 +170,10 @@ filemon_pid_check(struct proc * p)
 			}
 			lp = p;
 			p = p->p_pptr;
+
+			/* lock parent before releasing child */
+			if (p != NULL)
+rw_enter(&p->p_reflock, RW_READER);
 			rw_exit(&lp->p_reflock);
 		}
 	}



CVS commit: src/sys/dev/usb

2016-01-08 Thread Jonathan A. Kollasch
Module Name:src
Committed By:   jakllsch
Date:   Sat Jan  9 03:33:54 UTC 2016

Modified Files:
src/sys/dev/usb: hid.c

Log Message:
avoid potential NULL deref in failure case


To generate a diff of this commit:
cvs rdiff -u -r1.40 -r1.41 src/sys/dev/usb/hid.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/dev/usb/hid.c
diff -u src/sys/dev/usb/hid.c:1.40 src/sys/dev/usb/hid.c:1.41
--- src/sys/dev/usb/hid.c:1.40	Thu Jan  7 16:10:49 2016
+++ src/sys/dev/usb/hid.c	Sat Jan  9 03:33:53 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: hid.c,v 1.40 2016/01/07 16:10:49 jakllsch Exp $	*/
+/*	$NetBSD: hid.c,v 1.41 2016/01/09 03:33:53 jakllsch Exp $	*/
 /*	$FreeBSD: src/sys/dev/usb/hid.c,v 1.11 1999/11/17 22:33:39 n_hibma Exp $ */
 
 /*
@@ -32,7 +32,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: hid.c,v 1.40 2016/01/07 16:10:49 jakllsch Exp $");
+__KERNEL_RCSID(0, "$NetBSD: hid.c,v 1.41 2016/01/09 03:33:53 jakllsch Exp $");
 
 #include 
 #include 
@@ -425,7 +425,8 @@ hid_locate(const void *desc, int size, u
 		}
 	}
 	hid_end_parse(d);
-	loc->size = 0;
+	if (loc != NULL)
+		loc->size = 0;
 	return (0);
 }
 



CVS commit: src/share/mk

2016-01-08 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sat Jan  9 02:06:22 UTC 2016

Modified Files:
src/share/mk: bsd.sys.mk

Log Message:
- use -fdebug-regex-map to remap one style of object dirs. There are others.
- change DESTDIR to nothing so that we don't get // in the front
- apply the mappings to both c and c++


To generate a diff of this commit:
cvs rdiff -u -r1.246 -r1.247 src/share/mk/bsd.sys.mk

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

Modified files:

Index: src/share/mk/bsd.sys.mk
diff -u src/share/mk/bsd.sys.mk:1.246 src/share/mk/bsd.sys.mk:1.247
--- src/share/mk/bsd.sys.mk:1.246	Tue Dec 22 11:46:56 2015
+++ src/share/mk/bsd.sys.mk	Fri Jan  8 21:06:22 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: bsd.sys.mk,v 1.246 2015/12/22 16:46:56 christos Exp $
+#	$NetBSD: bsd.sys.mk,v 1.247 2016/01/09 02:06:22 christos Exp $
 #
 # Build definitions used for NetBSD source tree builds.
 
@@ -19,9 +19,14 @@ CPPFLAGS+=	-Wp,-iremap,${NETBSDSRCDIR}:/
 CPPFLAGS+=	-Wp,-iremap,${DESTDIR}/:/
 CPPFLAGS+=	-Wp,-iremap,${X11SRCDIR}:/usr/xsrc
 .export NETBSDSRCDIR DESTDIR X11SRCDIR
-CFLAGS+=	-fdebug-prefix-map=\$$NETBSDSRCDIR=/usr/src
-CFLAGS+=	-fdebug-prefix-map=\$$DESTDIR=/
-CFLAGS+=	-fdebug-prefix-map=\$$X11SRCDIR=/usr/xsrc
+REPROFLAGS+=	-fdebug-prefix-map=\$$NETBSDSRCDIR=/usr/src
+.if !empty(DESTDIR)
+REPROFLAGS+=	-fdebug-prefix-map=\$$DESTDIR=
+.endif
+REPROFLAGS+=	-fdebug-prefix-map=\$$X11SRCDIR=/usr/xsrc
+REPROFLAGS+=	-fdebug-regex-map='/usr/src/(.*)/obj.${MACHINE}=/usr/obj/\1'
+CFLAGS+=	${REPROFLAGS}
+CXXFLAGS+=	${REPROFLAGS}
 .endif
 
 # NetBSD sources use C99 style, with some GCC extensions.



CVS commit: src/external/gpl3/gcc

2016-01-08 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sat Jan  9 02:05:01 UTC 2016

Modified Files:
src/external/gpl3/gcc/dist/gcc: Makefile.in common.opt debug.h final.c
opts-global.c opts.c
src/external/gpl3/gcc/dist/gcc/config/rs6000: ppc-asm.h
src/external/gpl3/gcc/usr.bin/backend: Makefile
Added Files:
src/external/gpl3/gcc/dist/gcc: regsub.c

Log Message:
add -fdebug-regex-map=regex=subst which works like sed -e s/regex/subst/
to aid with /usr/obj remapping for MKREPRO


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/external/gpl3/gcc/dist/gcc/Makefile.in
cvs rdiff -u -r1.1.1.3 -r1.2 src/external/gpl3/gcc/dist/gcc/common.opt \
src/external/gpl3/gcc/dist/gcc/opts.c
cvs rdiff -u -r1.1.1.2 -r1.2 src/external/gpl3/gcc/dist/gcc/debug.h
cvs rdiff -u -r1.2 -r1.3 src/external/gpl3/gcc/dist/gcc/final.c
cvs rdiff -u -r1.1.1.1 -r1.2 src/external/gpl3/gcc/dist/gcc/opts-global.c
cvs rdiff -u -r0 -r1.1 src/external/gpl3/gcc/dist/gcc/regsub.c
cvs rdiff -u -r1.1.1.3 -r1.2 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/ppc-asm.h
cvs rdiff -u -r1.24 -r1.25 src/external/gpl3/gcc/usr.bin/backend/Makefile

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

Modified files:

Index: src/external/gpl3/gcc/dist/gcc/Makefile.in
diff -u src/external/gpl3/gcc/dist/gcc/Makefile.in:1.11 src/external/gpl3/gcc/dist/gcc/Makefile.in:1.12
--- src/external/gpl3/gcc/dist/gcc/Makefile.in:1.11	Sun Nov  1 19:51:18 2015
+++ src/external/gpl3/gcc/dist/gcc/Makefile.in	Fri Jan  8 21:05:00 2016
@@ -1336,6 +1336,7 @@ OBJS = \
 	regmove.o \
 	regrename.o \
 	regstat.o \
+	regsub.o \
 	reload.o \
 	reload1.o \
 	reorg.o \

Index: src/external/gpl3/gcc/dist/gcc/common.opt
diff -u src/external/gpl3/gcc/dist/gcc/common.opt:1.1.1.3 src/external/gpl3/gcc/dist/gcc/common.opt:1.2
--- src/external/gpl3/gcc/dist/gcc/common.opt:1.1.1.3	Sun Oct 12 02:58:17 2014
+++ src/external/gpl3/gcc/dist/gcc/common.opt	Fri Jan  8 21:05:00 2016
@@ -974,7 +974,11 @@ Common RejectNegative Joined Var(common_
 
 fdebug-prefix-map=
 Common Joined RejectNegative Var(common_deferred_options) Defer
-Map one directory name to another in debug information
+Map one directory name prefix to another in debug information
+
+fdebug-regex-map=
+Common Joined RejectNegative Var(common_deferred_options) Defer
+Map one directory name to another in debug information using regular expression matching
 
 fdebug-types-section
 Common Report Var(flag_debug_types_section) Init(0)
Index: src/external/gpl3/gcc/dist/gcc/opts.c
diff -u src/external/gpl3/gcc/dist/gcc/opts.c:1.1.1.3 src/external/gpl3/gcc/dist/gcc/opts.c:1.2
--- src/external/gpl3/gcc/dist/gcc/opts.c:1.1.1.3	Tue May 27 04:43:04 2014
+++ src/external/gpl3/gcc/dist/gcc/opts.c	Fri Jan  8 21:05:00 2016
@@ -1489,6 +1489,10 @@ common_handle_option (struct gcc_options
   /* Deferred.  */
   break;
 
+case OPT_fdebug_regex_map_:
+  /* Deferred.  */
+  break;
+
 case OPT_fdiagnostics_show_location_:
   diagnostic_prefixing_rule (dc) = (diagnostic_prefixing_rule_t) value;
   break;

Index: src/external/gpl3/gcc/dist/gcc/debug.h
diff -u src/external/gpl3/gcc/dist/gcc/debug.h:1.1.1.2 src/external/gpl3/gcc/dist/gcc/debug.h:1.2
--- src/external/gpl3/gcc/dist/gcc/debug.h:1.1.1.2	Sat Mar  1 03:42:10 2014
+++ src/external/gpl3/gcc/dist/gcc/debug.h	Fri Jan  8 21:05:00 2016
@@ -186,6 +186,7 @@ extern void dwarf2out_switch_text_sectio
 
 const char *remap_debug_filename (const char *);
 void add_debug_prefix_map (const char *);
+void add_debug_regex_map (const char *);
 
 /* For -fdump-go-spec.  */
 

Index: src/external/gpl3/gcc/dist/gcc/final.c
diff -u src/external/gpl3/gcc/dist/gcc/final.c:1.2 src/external/gpl3/gcc/dist/gcc/final.c:1.3
--- src/external/gpl3/gcc/dist/gcc/final.c:1.2	Tue Dec 22 11:49:08 2015
+++ src/external/gpl3/gcc/dist/gcc/final.c	Fri Jan  8 21:05:00 2016
@@ -1535,8 +1535,8 @@ add_debug_prefix_map (const char *arg)
 /* Perform user-specified mapping of debug filename prefixes.  Return
the new name corresponding to FILENAME.  */
 
-const char *
-remap_debug_filename (const char *filename)
+static const char *
+remap_debug_prefix_filename (const char *filename)
 {
   debug_prefix_map *map;
   char *s;
@@ -1555,6 +1555,88 @@ remap_debug_filename (const char *filena
   memcpy (s + map->new_len, name, name_len);
   return ggc_strdup (s);
 }
+
+#include 
+
+typedef struct debug_regex_map
+{
+  regex_t re;
+  const char *sub;
+  struct debug_regex_map *next;
+} debug_regex_map;
+
+/* Linked list of such structures.  */
+debug_regex_map *debug_regex_maps;
+
+
+/* Record a debug file regex mapping.  ARG is the argument to
+   -fdebug-regex-map and must be of the form OLD=NEW.  */
+
+void
+add_debug_regex_map (const char *arg)
+{
+  debug_regex_map *map;
+  const char *p;
+  char *old;
+  char buf[1024];
+  regex_t re;
+  int e;
+
+  p = strchr (arg, '=');
+  if (!p)
+{
+

CVS commit: src/external/gpl3/gcc.old

2016-01-08 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sat Jan  9 02:00:14 UTC 2016

Modified Files:
src/external/gpl3/gcc.old/dist/gcc: Makefile.in common.opt debug.h
final.c opts-global.c opts.c
src/external/gpl3/gcc.old/dist/gcc/config/rs6000: ppc-asm.h
src/external/gpl3/gcc.old/usr.bin/backend: Makefile
Added Files:
src/external/gpl3/gcc.old/dist/gcc: regsub.c

Log Message:
add -fdebug-regex-map=regex=subst which works like sed -e s/regex/subst/
to aid with /usr/obj remapping for MKREPRO


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/external/gpl3/gcc.old/dist/gcc/Makefile.in \
src/external/gpl3/gcc.old/dist/gcc/final.c
cvs rdiff -u -r1.3 -r1.4 src/external/gpl3/gcc.old/dist/gcc/common.opt \
src/external/gpl3/gcc.old/dist/gcc/debug.h \
src/external/gpl3/gcc.old/dist/gcc/opts.c
cvs rdiff -u -r1.1.1.1 -r1.2 src/external/gpl3/gcc.old/dist/gcc/opts-global.c
cvs rdiff -u -r0 -r1.1 src/external/gpl3/gcc.old/dist/gcc/regsub.c
cvs rdiff -u -r1.3 -r1.4 \
src/external/gpl3/gcc.old/dist/gcc/config/rs6000/ppc-asm.h
cvs rdiff -u -r1.3 -r1.4 src/external/gpl3/gcc.old/usr.bin/backend/Makefile

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

Modified files:

Index: src/external/gpl3/gcc.old/dist/gcc/Makefile.in
diff -u src/external/gpl3/gcc.old/dist/gcc/Makefile.in:1.4 src/external/gpl3/gcc.old/dist/gcc/Makefile.in:1.5
--- src/external/gpl3/gcc.old/dist/gcc/Makefile.in:1.4	Sun Nov  1 19:51:18 2015
+++ src/external/gpl3/gcc.old/dist/gcc/Makefile.in	Fri Jan  8 21:00:14 2016
@@ -1336,6 +1336,7 @@ OBJS = \
 	regmove.o \
 	regrename.o \
 	regstat.o \
+	regsub.o \
 	reload.o \
 	reload1.o \
 	reorg.o \
Index: src/external/gpl3/gcc.old/dist/gcc/final.c
diff -u src/external/gpl3/gcc.old/dist/gcc/final.c:1.4 src/external/gpl3/gcc.old/dist/gcc/final.c:1.5
--- src/external/gpl3/gcc.old/dist/gcc/final.c:1.4	Tue Dec 22 11:48:44 2015
+++ src/external/gpl3/gcc.old/dist/gcc/final.c	Fri Jan  8 21:00:14 2016
@@ -1535,8 +1535,8 @@ add_debug_prefix_map (const char *arg)
 /* Perform user-specified mapping of debug filename prefixes.  Return
the new name corresponding to FILENAME.  */
 
-const char *
-remap_debug_filename (const char *filename)
+static const char *
+remap_debug_prefix_filename (const char *filename)
 {
   debug_prefix_map *map;
   char *s;
@@ -1555,6 +1555,88 @@ remap_debug_filename (const char *filena
   memcpy (s + map->new_len, name, name_len);
   return ggc_strdup (s);
 }
+
+#include 
+
+typedef struct debug_regex_map
+{
+  regex_t re;
+  const char *sub;
+  struct debug_regex_map *next;
+} debug_regex_map;
+
+/* Linked list of such structures.  */
+debug_regex_map *debug_regex_maps;
+
+
+/* Record a debug file regex mapping.  ARG is the argument to
+   -fdebug-regex-map and must be of the form OLD=NEW.  */
+
+void
+add_debug_regex_map (const char *arg)
+{
+  debug_regex_map *map;
+  const char *p;
+  char *old;
+  char buf[1024];
+  regex_t re;
+  int e;
+
+  p = strchr (arg, '=');
+  if (!p)
+{
+  error ("invalid argument %qs to -fdebug-regex-map", arg);
+  return;
+}
+  
+  old = xstrndup (arg, p - arg);
+  if ((e = regcomp(&re, old, REG_EXTENDED)) != 0)
+{
+  regerror(e, &re, buf, sizeof(buf));
+  warning (0, "regular expression compilation for %qs in argument to "
+	   "-fdebug-regex-map failed: %qs", old, buf);
+  free(old);
+  return;
+}
+  free(old);
+
+  map = XNEW (debug_regex_map);
+  map->re = re;
+  p++;
+  map->sub = xstrdup (p);
+  map->next = debug_regex_maps;
+  debug_regex_maps = map;
+}
+
+extern ssize_t aregsub(char **, const char *,
+  const regmatch_t *rm, const char *);
+
+/* Perform user-specified mapping of debug filename regular expressions.  Return
+   the new name corresponding to FILENAME.  */
+
+static const char *
+remap_debug_regex_filename (const char *filename)
+{
+  debug_regex_map *map;
+  char *s;
+  regmatch_t rm[10];
+
+  for (map = debug_regex_maps; map; map = map->next)
+if (regexec (&map->re, filename, 10, rm, 0) == 0
+   && aregsub (&s, map->sub, rm, filename) >= 0)
+  {
+	 const char *name = ggc_strdup(s);
+	 free(s);
+	 return name;
+  }
+  return filename;
+}
+
+const char *
+remap_debug_filename (const char *filename)
+{
+   return remap_debug_regex_filename (remap_debug_prefix_filename (filename));
+}
 
 /* Return true if DWARF2 debug info can be emitted for DECL.  */
 

Index: src/external/gpl3/gcc.old/dist/gcc/common.opt
diff -u src/external/gpl3/gcc.old/dist/gcc/common.opt:1.3 src/external/gpl3/gcc.old/dist/gcc/common.opt:1.4
--- src/external/gpl3/gcc.old/dist/gcc/common.opt:1.3	Tue Sep 22 23:39:09 2015
+++ src/external/gpl3/gcc.old/dist/gcc/common.opt	Fri Jan  8 21:00:14 2016
@@ -974,7 +974,11 @@ Common RejectNegative Joined Var(common_
 
 fdebug-prefix-map=
 Common Joined RejectNegative Var(common_deferred_options) Defer
-Map one directory name to another i

CVS commit: src/tools/gmp

2016-01-08 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sat Jan  9 01:13:42 UTC 2016

Modified Files:
src/tools/gmp: Makefile

Log Message:
Save a couple of dollars now that make is fixed.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/tools/gmp/Makefile

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

Modified files:

Index: src/tools/gmp/Makefile
diff -u src/tools/gmp/Makefile:1.2 src/tools/gmp/Makefile:1.3
--- src/tools/gmp/Makefile:1.2	Wed Apr 11 21:05:31 2012
+++ src/tools/gmp/Makefile	Fri Jan  8 20:13:42 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.2 2012/04/12 01:05:31 mrg Exp $
+#	$NetBSD: Makefile,v 1.3 2016/01/09 01:13:42 christos Exp $
 #
 
 GNUHOSTDIST=   ${.CURDIR}/../../external/lgpl3/gmp/dist
@@ -11,7 +11,7 @@ CONFIGURE_ARGS+=--disable-shared
 # PATH needs special treating since "make" tries to expand $PATH
 # when variable is used.
 CONFIGURE_ENV:=	${CONFIGURE_ENV:NPATH=*:NCFLAGS=*:NCXXFLAGS=*} \
-		PATH="${TOOLDIR:Q}/bin:PATH"
+		PATH="${TOOLDIR:Q}/bin:$$PATH"
 
 # Force avoiding possibly non-executable install-sh.
 CONFIGURE_ENV+=	ac_cv_path_mkdir="${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-install -d"



CVS commit: src/usr.bin/make

2016-01-08 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sat Jan  9 00:55:17 UTC 2016

Modified Files:
src/usr.bin/make: arch.c compat.c cond.c for.c job.c main.c make.c
nonints.h parse.c suff.c var.c

Log Message:
Preserve $$ in := assignments..

FOO=\$$CRAP
BAR:=${FOO}

all:
echo ${FOO}
echo ${BAR}


To generate a diff of this commit:
cvs rdiff -u -r1.64 -r1.65 src/usr.bin/make/arch.c
cvs rdiff -u -r1.101 -r1.102 src/usr.bin/make/compat.c
cvs rdiff -u -r1.71 -r1.72 src/usr.bin/make/cond.c
cvs rdiff -u -r1.50 -r1.51 src/usr.bin/make/for.c
cvs rdiff -u -r1.181 -r1.182 src/usr.bin/make/job.c
cvs rdiff -u -r1.235 -r1.236 src/usr.bin/make/main.c
cvs rdiff -u -r1.92 -r1.93 src/usr.bin/make/make.c
cvs rdiff -u -r1.69 -r1.70 src/usr.bin/make/nonints.h
cvs rdiff -u -r1.206 -r1.207 src/usr.bin/make/parse.c
cvs rdiff -u -r1.75 -r1.76 src/usr.bin/make/suff.c
cvs rdiff -u -r1.200 -r1.201 src/usr.bin/make/var.c

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

Modified files:

Index: src/usr.bin/make/arch.c
diff -u src/usr.bin/make/arch.c:1.64 src/usr.bin/make/arch.c:1.65
--- src/usr.bin/make/arch.c:1.64	Sun Oct 11 00:51:24 2015
+++ src/usr.bin/make/arch.c	Fri Jan  8 19:55:17 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: arch.c,v 1.64 2015/10/11 04:51:24 sjg Exp $	*/
+/*	$NetBSD: arch.c,v 1.65 2016/01/09 00:55:17 christos Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -69,14 +69,14 @@
  */
 
 #ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: arch.c,v 1.64 2015/10/11 04:51:24 sjg Exp $";
+static char rcsid[] = "$NetBSD: arch.c,v 1.65 2016/01/09 00:55:17 christos Exp $";
 #else
 #include 
 #ifndef lint
 #if 0
 static char sccsid[] = "@(#)arch.c	8.2 (Berkeley) 1/2/94";
 #else
-__RCSID("$NetBSD: arch.c,v 1.64 2015/10/11 04:51:24 sjg Exp $");
+__RCSID("$NetBSD: arch.c,v 1.65 2016/01/09 00:55:17 christos Exp $");
 #endif
 #endif /* not lint */
 #endif
@@ -261,7 +261,7 @@ Arch_ParseArchive(char **linePtr, Lst no
 	void	*freeIt;
 	char	*result;
 
-	result = Var_Parse(cp, ctxt, TRUE, TRUE, &length, &freeIt);
+	result = Var_Parse(cp, ctxt, TRUE, TRUE, FALSE, &length, &freeIt);
 	if (freeIt)
 		free(freeIt);
 	if (result == var_Error) {
@@ -276,7 +276,7 @@ Arch_ParseArchive(char **linePtr, Lst no
 
 *cp++ = '\0';
 if (subLibName) {
-	libName = Var_Subst(NULL, libName, ctxt, TRUE, TRUE);
+	libName = Var_Subst(NULL, libName, ctxt, TRUE, TRUE, FALSE);
 }
 
 
@@ -302,7 +302,7 @@ Arch_ParseArchive(char **linePtr, Lst no
 		void	*freeIt;
 		char	*result;
 
-		result = Var_Parse(cp, ctxt, TRUE, TRUE, &length, &freeIt);
+		result = Var_Parse(cp, ctxt, TRUE, TRUE, FALSE, &length, &freeIt);
 		if (freeIt)
 		free(freeIt);
 		if (result == var_Error) {
@@ -355,7 +355,7 @@ Arch_ParseArchive(char **linePtr, Lst no
 	char*oldMemName = memName;
 	size_t   sz;
 
-	memName = Var_Subst(NULL, memName, ctxt, TRUE, TRUE);
+	memName = Var_Subst(NULL, memName, ctxt, TRUE, TRUE, FALSE);
 
 	/*
 	 * Now form an archive spec and recurse to deal with nested

Index: src/usr.bin/make/compat.c
diff -u src/usr.bin/make/compat.c:1.101 src/usr.bin/make/compat.c:1.102
--- src/usr.bin/make/compat.c:1.101	Sun Oct 11 00:51:24 2015
+++ src/usr.bin/make/compat.c	Fri Jan  8 19:55:17 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: compat.c,v 1.101 2015/10/11 04:51:24 sjg Exp $	*/
+/*	$NetBSD: compat.c,v 1.102 2016/01/09 00:55:17 christos Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -70,14 +70,14 @@
  */
 
 #ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: compat.c,v 1.101 2015/10/11 04:51:24 sjg Exp $";
+static char rcsid[] = "$NetBSD: compat.c,v 1.102 2016/01/09 00:55:17 christos Exp $";
 #else
 #include 
 #ifndef lint
 #if 0
 static char sccsid[] = "@(#)compat.c	8.2 (Berkeley) 3/19/94";
 #else
-__RCSID("$NetBSD: compat.c,v 1.101 2015/10/11 04:51:24 sjg Exp $");
+__RCSID("$NetBSD: compat.c,v 1.102 2016/01/09 00:55:17 christos Exp $");
 #endif
 #endif /* not lint */
 #endif
@@ -210,7 +210,7 @@ CompatRunCommand(void *cmdp, void *gnp)
 doIt = FALSE;
 
 cmdNode = Lst_Member(gn->commands, cmd);
-cmdStart = Var_Subst(NULL, cmd, gn, FALSE, TRUE);
+cmdStart = Var_Subst(NULL, cmd, gn, FALSE, TRUE, FALSE);
 
 /*
  * brk_string will return an argv with a NULL in av[0], thus causing

Index: src/usr.bin/make/cond.c
diff -u src/usr.bin/make/cond.c:1.71 src/usr.bin/make/cond.c:1.72
--- src/usr.bin/make/cond.c:1.71	Tue Dec  1 19:28:24 2015
+++ src/usr.bin/make/cond.c	Fri Jan  8 19:55:17 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: cond.c,v 1.71 2015/12/02 00:28:24 sjg Exp $	*/
+/*	$NetBSD: cond.c,v 1.72 2016/01/09 00:55:17 christos Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -70,14 +70,14 @@
  */
 
 #ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: cond.c,v 1.71 2015/12/02 00:28:24 sjg Exp $";
+stat

CVS commit: src/external/bsd/wpa/bin/wpa_supplicant

2016-01-08 Thread Roy Marples
Module Name:src
Committed By:   roy
Date:   Fri Jan  8 23:37:58 UTC 2016

Modified Files:
src/external/bsd/wpa/bin/wpa_supplicant: wpa_supplicant.8

Log Message:
Update wpa_supplicant(8) to what it actually does.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 \
src/external/bsd/wpa/bin/wpa_supplicant/wpa_supplicant.8

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

Modified files:

Index: src/external/bsd/wpa/bin/wpa_supplicant/wpa_supplicant.8
diff -u src/external/bsd/wpa/bin/wpa_supplicant/wpa_supplicant.8:1.3 src/external/bsd/wpa/bin/wpa_supplicant/wpa_supplicant.8:1.4
--- src/external/bsd/wpa/bin/wpa_supplicant/wpa_supplicant.8:1.3	Tue Mar 18 18:20:36 2014
+++ src/external/bsd/wpa/bin/wpa_supplicant/wpa_supplicant.8	Fri Jan  8 23:37:58 2016
@@ -1,4 +1,4 @@
-.\" $NetBSD: wpa_supplicant.8,v 1.3 2014/03/18 18:20:36 riastradh Exp $
+.\" $NetBSD: wpa_supplicant.8,v 1.4 2016/01/08 23:37:58 roy Exp $
 .\"
 .\" Copyright (c) 2005 Sam Leffler 
 .\" All rights reserved.
@@ -27,7 +27,7 @@
 .\" Based on:
 .\" $FreeBSD: /repoman/r/ncvs/src/usr.sbin/wpa/wpa_supplicant/wpa_supplicant.8,v 1.2 2005/06/27 06:40:43 ru Exp $
 .\"
-.Dd January 22, 2010
+.Dd January 8, 2016
 .Dt WPA_SUPPLICANT 8
 .Os
 .Sh NAME
@@ -35,10 +35,19 @@
 .Nd WPA/802.11i Supplicant for wireless network devices
 .Sh SYNOPSIS
 .Nm
-.Op Fl BdehLqvw
+.Op Fl BdhLqstuvW
+.Op Fl b Ar br_ifname
+.Op Fl C Ar ctrl
+.Fl c Ar config-file
+.Op Fl D Ar driver
+.Op Fl e Ar entropy-file
 .Op Fl f Ar debug-file
+.Op Fl G Ar global-ctrl-group
+.Op Fl g Ar global-ctrl
 .Fl i Ar ifname
-.Fl c Ar config-file
+.Op Fl O Ar override-ctrl
+.Op Fl o Ar override-driver
+.Op Fl P Ar pidfile
 .Op Fl N i Ar ifname Fl c Ar config-file ...
 .Sh DESCRIPTION
 The
@@ -97,6 +106,12 @@ The following options are available:
 .It Fl B
 Detach from the controlling terminal and run as a daemon process
 in the background.
+.It Fl b
+Optional bridge interface name.
+.It Fl C
+Control interface parameter.
+.It Fl D
+Driver name (can be either bsd or wired)
 .It Fl d
 Enable debugging messages.
 If this option is supplied twice, more verbose messages are displayed.
@@ -104,16 +119,18 @@ Messages are sent to stdout by default, 
 This can be changed with the
 .Fl f
 flag.
-.It Fl e
-Use an external IEEE 802.1X Supplicant program and disable the
-internal Supplicant.
-This option is not normally used.
 .It Fl f
 Specifies a file to send debug messages to when enabled with the
 .Fl d
 flag.
+.It Fl G
+Global control interface group.
+.It Fl g
+Global control interface.
 .It Fl h
 Show help text.
+.It Fl I
+Additional configuration file.
 .It Fl K
 Include key information in debugging output.
 .It Fl L
@@ -123,27 +140,37 @@ Specify an additional interface and conf
 If multiple interfaces are specified then
 .Nm
 will manage them all with a single process.
+.It Fl O
+Override ctrl_interface parameter for new interface.
+.It Fl o
+Override driver paramter for new interface.
+.It Fl P
+File in which to save the process PID.
+.It Fl p
+Specify driver parameters.
 .It Fl q
 Decrease debugging verbosity (i.e., counteract the use of the
 .Fl d
 flag).
+.It Fl s
+Send log messages through syslog(3) instead of to the terminal.
+.It Fl t
+Include timestamp in debug messages.
 .It Fl v
 Display version information on the terminal and exit.
-.It Fl w
-If the specified interface is not present, wait for it to be
-added; e.g.\& a cardbus device to be inserted.
-.\" This option is not normally used; instead,
-.\" .Xr devd 8
-.\" should be configured to launch
-.\" .Nm
-.\" when a device is created.
+.It Fl W
+Wait for a control interface monitor before starting.
 .El
 .Sh SEE ALSO
 .Xr ath 4 ,
 .Xr ipw 4 ,
 .Xr iwi 4 ,
+.Xr iwn 4 ,
 .Xr ral 4 ,
+.Xr rum 4 ,
 .Xr wi 4 ,
+.Xr wpi 4 ,
+.Xr zyd 4 ,
 .Xr wpa_supplicant.conf 5 ,
 .Xr ifconfig 8 ,
 .Xr wpa_cli 8



CVS commit: src/external/bsd/wpa/bin/wpa_supplicant

2016-01-08 Thread Roy Marples
Module Name:src
Committed By:   roy
Date:   Fri Jan  8 23:31:29 UTC 2016

Modified Files:
src/external/bsd/wpa/bin/wpa_supplicant: Makefile

Log Message:
Enable syslog support


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/external/bsd/wpa/bin/wpa_supplicant/Makefile

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

Modified files:

Index: src/external/bsd/wpa/bin/wpa_supplicant/Makefile
diff -u src/external/bsd/wpa/bin/wpa_supplicant/Makefile:1.5 src/external/bsd/wpa/bin/wpa_supplicant/Makefile:1.6
--- src/external/bsd/wpa/bin/wpa_supplicant/Makefile:1.5	Wed Apr  1 19:45:14 2015
+++ src/external/bsd/wpa/bin/wpa_supplicant/Makefile	Fri Jan  8 23:31:29 2016
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.5 2015/04/01 19:45:14 christos Exp $
+# $NetBSD: Makefile,v 1.6 2016/01/08 23:31:29 roy Exp $
 
 .include "${.CURDIR}/../Makefile.inc"
 
@@ -57,6 +57,7 @@ CPPFLAGS+= \
 
 CPPFLAGS+=-DCONFIG_BACKEND_FILE
 CPPFLAGS+=-DCONFIG_PEERKEY
+CPPFLAGS+=-DCONFIG_DEBUG_SYSLOG
 CPPFLAGS+=-DCONFIG_DRIVER_WIRED
 CPPFLAGS+=-DCONFIG_DRIVER_BSD
 CPPFLAGS+=-DCONFIG_CTRL_IFACE



CVS commit: src/external/bsd/dhcp/dist/common

2016-01-08 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Fri Jan  8 23:09:41 UTC 2016

Modified Files:
src/external/bsd/dhcp/dist/common: packet.c

Log Message:
Check correctly the packet length (CVE-2015-8605)
XXX: pullup-6, pullup-7


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.4 -r1.2 src/external/bsd/dhcp/dist/common/packet.c

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

Modified files:

Index: src/external/bsd/dhcp/dist/common/packet.c
diff -u src/external/bsd/dhcp/dist/common/packet.c:1.1.1.4 src/external/bsd/dhcp/dist/common/packet.c:1.2
--- src/external/bsd/dhcp/dist/common/packet.c:1.1.1.4	Sat Jul 12 07:57:46 2014
+++ src/external/bsd/dhcp/dist/common/packet.c	Fri Jan  8 18:09:41 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: packet.c,v 1.1.1.4 2014/07/12 11:57:46 spz Exp $	*/
+/*	$NetBSD: packet.c,v 1.2 2016/01/08 23:09:41 christos Exp $	*/
 /* packet.c
 
Packet assembly code, originally contributed by Archie Cobbs. */
@@ -34,7 +34,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: packet.c,v 1.1.1.4 2014/07/12 11:57:46 spz Exp $");
+__RCSID("$NetBSD: packet.c,v 1.2 2016/01/08 23:09:41 christos Exp $");
 
 #include "dhcpd.h"
 
@@ -224,7 +224,28 @@ ssize_t decode_hw_header (interface, buf
 	}
 }
 
-/* UDP header and IP header decoded together for convenience. */
+/*!
+ *
+ * \brief UDP header and IP header decoded together for convenience.
+ *
+ * Attempt to decode the UDP and IP headers and, if necessary, checksum
+ * the packet.
+ *
+ * \param inteface - the interface on which the packet was recevied
+ * \param buf - a pointer to the buffer for the received packet
+ * \param bufix - where to start processing the buffer, previous
+ *routines may have processed parts of the buffer already
+ * \param from - space to return the address of the packet sender
+ * \param buflen - remaining length of the buffer, this will have been
+ * decremented by bufix by the caller
+ * \param rbuflen - space to return the length of the payload from the udp
+ *  header
+ * \param csum_ready - indication if the checksum is valid for use
+ * non-zero indicates the checksum should be validated
+ *
+ * \return - the index to the first byte of the udp payload (that is the
+ *   start of the DHCP packet
+ */
 
 ssize_t
 decode_udp_ip_header(struct interface_info *interface,
@@ -235,7 +256,7 @@ decode_udp_ip_header(struct interface_in
   unsigned char *data;
   struct ip ip;
   struct udphdr udp;
-  unsigned char *upp, *endbuf;
+  unsigned char *upp;
   u_int32_t ip_len, ulen, pkt_len;
   u_int32_t sum, usum;
   static int ip_packets_seen;
@@ -246,11 +267,8 @@ decode_udp_ip_header(struct interface_in
   static int udp_packets_length_overflow;
   unsigned len;
 
-  /* Designate the end of the input buffer for bounds checks. */
-  endbuf = buf + bufix + buflen;
-
   /* Assure there is at least an IP header there. */
-  if ((buf + bufix + sizeof(ip)) > endbuf)
+  if (sizeof(ip) > buflen)
 	  return -1;
 
   /* Copy the IP header into a stack aligned structure for inspection.
@@ -262,13 +280,17 @@ decode_udp_ip_header(struct interface_in
   ip_len = (*upp & 0x0f) << 2;
   upp += ip_len;
 
-  /* Check the IP packet length. */
+  /* Check packet lengths are within the buffer:
+   * first the ip header (ip_len)
+   * then the packet length from the ip header (pkt_len)
+   * then the udp header (ip_len + sizeof(udp)
+   * We are liberal in what we accept, the udp payload should fit within
+   * pkt_len, but we only check against the full buffer size.
+   */
   pkt_len = ntohs(ip.ip_len);
-  if (pkt_len > buflen)
-	return -1;
-
-  /* Assure after ip_len bytes that there is enough room for a UDP header. */
-  if ((upp + sizeof(udp)) > endbuf)
+  if ((ip_len > buflen) ||
+  (pkt_len > buflen) ||
+  ((ip_len + sizeof(udp)) > buflen))
 	  return -1;
 
   /* Copy the UDP header into a stack aligned structure for inspection. */
@@ -289,7 +311,8 @@ decode_udp_ip_header(struct interface_in
 	return -1;
 
   udp_packets_length_checked++;
-  if ((upp + ulen) > endbuf) {
+  /* verify that the payload length from the udp packet fits in the buffer */
+  if ((ip_len + ulen) > buflen) {
 	udp_packets_length_overflow++;
 	if ((udp_packets_length_checked > 4) &&
 	((udp_packets_length_checked /
@@ -303,9 +326,6 @@ decode_udp_ip_header(struct interface_in
 	return -1;
   }
 
-  if ((ulen < sizeof(udp)) || ((upp + ulen) > endbuf))
-	return -1;
-
   /* Check the IP header checksum - it should be zero. */
   ++ip_packets_seen;
   if (wrapsum (checksum (buf + bufix, ip_len, 0))) {



CVS commit: src/doc

2016-01-08 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Fri Jan  8 21:38:16 UTC 2016

Modified Files:
src/doc: 3RDPARTY CHANGES

Log Message:
new ntpd


To generate a diff of this commit:
cvs rdiff -u -r1.1285 -r1.1286 src/doc/3RDPARTY
cvs rdiff -u -r1.2125 -r1.2126 src/doc/CHANGES

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

Modified files:

Index: src/doc/3RDPARTY
diff -u src/doc/3RDPARTY:1.1285 src/doc/3RDPARTY:1.1286
--- src/doc/3RDPARTY:1.1285	Thu Jan  7 15:16:12 2016
+++ src/doc/3RDPARTY	Fri Jan  8 16:38:16 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: 3RDPARTY,v 1.1285 2016/01/07 20:16:12 roy Exp $
+#	$NetBSD: 3RDPARTY,v 1.1286 2016/01/08 21:38:16 christos Exp $
 #
 # This file contains a list of the software that has been integrated into
 # NetBSD where we are not the primary maintainer.
@@ -922,8 +922,8 @@ and ndbootd-raw.c.  Restore saved config
 HAVE_STRICT_ALIGNMENT.  Fix RCS IDs, import.
 
 Package:	ntp
-Version:	4.2.8p4
-Current Vers:	4.2.8p4
+Version:	4.2.8p5
+Current Vers:	4.2.8p5
 Maintainer:	David L. Mills 
 Archive Site:	http://www.ntp.org/
 Home Page:	http://www.ntp.org/, http://support.ntp.org/

Index: src/doc/CHANGES
diff -u src/doc/CHANGES:1.2125 src/doc/CHANGES:1.2126
--- src/doc/CHANGES:1.2125	Thu Jan  7 15:16:12 2016
+++ src/doc/CHANGES	Fri Jan  8 16:38:16 2016
@@ -1,4 +1,4 @@
-# LIST OF CHANGES FROM LAST RELEASE:			<$Revision: 1.2125 $>
+# LIST OF CHANGES FROM LAST RELEASE:			<$Revision: 1.2126 $>
 #
 #
 # [Note: This file does not mention every change made to the NetBSD source tree.
@@ -238,3 +238,4 @@ Changes from NetBSD 7.0 to NetBSD 8.0:
 	ismt(4): Add another Intel Chipset internal SMBus driver.
 		[msaitoh 20160105]
 	dhcpcd: Import dhcpcd 6.10.0. [roy 20160107]
+	ntp: Import ntp 4.2.8p5. [christos 20160108]



CVS commit: src/external/bsd/ntp

2016-01-08 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Fri Jan  8 21:36:52 UTC 2016

Modified Files:
src/external/bsd/ntp: importdate
src/external/bsd/ntp/include: config.h
src/external/bsd/ntp/scripts: mkver

Log Message:
update for p5


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/external/bsd/ntp/importdate
cvs rdiff -u -r1.13 -r1.14 src/external/bsd/ntp/include/config.h
cvs rdiff -u -r1.8 -r1.9 src/external/bsd/ntp/scripts/mkver

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

Modified files:

Index: src/external/bsd/ntp/importdate
diff -u src/external/bsd/ntp/importdate:1.7 src/external/bsd/ntp/importdate:1.8
--- src/external/bsd/ntp/importdate:1.7	Fri Oct 23 14:06:19 2015
+++ src/external/bsd/ntp/importdate	Fri Jan  8 16:36:51 2016
@@ -1 +1 @@
-Fri Oct 23 13:57:19 EDT 2015 (import)
+Fri Jan  8 16:13:20 EST 2016 (import)

Index: src/external/bsd/ntp/include/config.h
diff -u src/external/bsd/ntp/include/config.h:1.13 src/external/bsd/ntp/include/config.h:1.14
--- src/external/bsd/ntp/include/config.h:1.13	Fri Oct 23 14:06:24 2015
+++ src/external/bsd/ntp/include/config.h	Fri Jan  8 16:36:52 2016
@@ -1342,8 +1342,7 @@
 /* Should we align with the NIST lockclock scheme? */
 /* #undef LOCKCLOCK */
 
-/* Define to the sub-directory in which libtool stores uninstalled libraries.
-   */
+/* Define to the sub-directory where libtool stores uninstalled libraries. */
 #define LT_OBJDIR ".libs/"
 
 /* Does the target support multicast IP? */
@@ -1447,7 +1446,7 @@
 #define PACKAGE_NAME "ntp"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "ntp 4.2.8p4"
+#define PACKAGE_STRING "ntp 4.2.8p5"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "ntp"
@@ -1456,7 +1455,7 @@
 #define PACKAGE_URL "http://www.ntp.org./";
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "4.2.8p4"
+#define PACKAGE_VERSION "4.2.8p5"
 
 /* data dir */
 #define PERLLIBDIR "/usr/local/share/ntp/lib"
@@ -1604,6 +1603,28 @@ typedef unsigned int	uintptr_t;
 /* OK to use snprintb()? */
 #define USE_SNPRINTB 1
 
+/* Enable extensions on AIX 3, Interix.  */
+#ifndef _ALL_SOURCE
+# define _ALL_SOURCE 1
+#endif
+/* Enable GNU extensions on systems that have them.  */
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE 1
+#endif
+/* Enable threading extensions on Solaris.  */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# define _POSIX_PTHREAD_SEMANTICS 1
+#endif
+/* Enable extensions on HP NonStop.  */
+#ifndef _TANDEM_SOURCE
+# define _TANDEM_SOURCE 1
+#endif
+/* Enable general extensions on Solaris.  */
+#ifndef __EXTENSIONS__
+# define __EXTENSIONS__ 1
+#endif
+
+
 /* Can we use SIGPOLL for tty IO? */
 /* #undef USE_TTY_SIGPOLL */
 
@@ -1611,7 +1632,7 @@ typedef unsigned int	uintptr_t;
 /* #undef USE_UDP_SIGPOLL */
 
 /* Version number of package */
-#define VERSION "4.2.8p4"
+#define VERSION "4.2.8p5"
 
 /* vsnprintf expands "%m" to strerror(errno) */
 /* #undef VSNPRINTF_PERCENT_M */
@@ -1666,9 +1687,6 @@ typedef unsigned int	uintptr_t;
 /* enable thread safety */
 #define _THREAD_SAFE 1
 
-/* Define to 500 only on HP-UX. */
-/* #undef _XOPEN_SOURCE */
-
 /* Are we _special_? */
 /* #undef __APPLE_USE_RFC_3542 */
 
@@ -1677,28 +1695,6 @@ typedef unsigned int	uintptr_t;
 /* # undef __CHAR_UNSIGNED__ */
 #endif
 
-/* Enable extensions on AIX 3, Interix.  */
-#ifndef _ALL_SOURCE
-# define _ALL_SOURCE 1
-#endif
-/* Enable GNU extensions on systems that have them.  */
-#ifndef _GNU_SOURCE
-# define _GNU_SOURCE 1
-#endif
-/* Enable threading extensions on Solaris.  */
-#ifndef _POSIX_PTHREAD_SEMANTICS
-# define _POSIX_PTHREAD_SEMANTICS 1
-#endif
-/* Enable extensions on HP NonStop.  */
-#ifndef _TANDEM_SOURCE
-# define _TANDEM_SOURCE 1
-#endif
-/* Enable general extensions on Solaris.  */
-#ifndef __EXTENSIONS__
-# define __EXTENSIONS__ 1
-#endif
-
-
 /* deviant */
 /* #undef adjtimex */
 

Index: src/external/bsd/ntp/scripts/mkver
diff -u src/external/bsd/ntp/scripts/mkver:1.8 src/external/bsd/ntp/scripts/mkver:1.9
--- src/external/bsd/ntp/scripts/mkver:1.8	Fri Nov 13 15:31:27 2015
+++ src/external/bsd/ntp/scripts/mkver	Fri Jan  8 16:36:52 2016
@@ -3,7 +3,7 @@ PROG=${1-UNKNOWN}
 
 ConfStr="$PROG"
 
-ConfStr="$ConfStr 4.2.8p4"
+ConfStr="$ConfStr 4.2.8p5"
 
 case "$CSET" in
  '') ;;



CVS commit: [netbsd-6] src/doc

2016-01-08 Thread Soren Jacobsen
Module Name:src
Committed By:   snj
Date:   Fri Jan  8 21:26:40 UTC 2016

Modified Files:
src/doc [netbsd-6]: CHANGES-6.2

Log Message:
1358


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.236 -r1.1.2.237 src/doc/CHANGES-6.2

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

Modified files:

Index: src/doc/CHANGES-6.2
diff -u src/doc/CHANGES-6.2:1.1.2.236 src/doc/CHANGES-6.2:1.1.2.237
--- src/doc/CHANGES-6.2:1.1.2.236	Wed Nov 18 06:52:21 2015
+++ src/doc/CHANGES-6.2	Fri Jan  8 21:26:40 2016
@@ -1,4 +1,4 @@
-# $NetBSD: CHANGES-6.2,v 1.1.2.236 2015/11/18 06:52:21 msaitoh Exp $
+# $NetBSD: CHANGES-6.2,v 1.1.2.237 2016/01/08 21:26:40 snj Exp $
 
 A complete list of changes from the 6.1 release until the 6.2 release:
 
@@ -12737,3 +12737,19 @@ lib/libc/net/getaddrinfo.c			patch
 	getnetbyaddr and getnetbyname.
 	[christos, ticket #1340]
 
+sys/arch/xen/include/xen-public/io/ring.h	1.3 via patch
+sys/arch/xen/xen/pciback.c			1.10 via patch
+sys/arch/xen/xen/xbdback_xenbus.c		1.62 via patch
+sys/arch/xen/xen/xennetback_xenbus.c		1.54 via patch
+
+	Apply patch from xsa155: make sure that the backend won't read
+	parts of the request again (possibly because of compiler
+	optimisations), by using copies and barrier.
+	From XSA155:
+	The compiler can emit optimizations in the PV backend drivers
+	which can lead to double fetch vulnerabilities. Specifically
+	the shared memory between the frontend and backend can be fetched
+	twice (during which time the frontend can alter the contents)
+	possibly leading to arbitrary code execution in backend.
+	[bouyer, ticket #1358]
+



CVS commit: [netbsd-6-1] src/sys/arch/xen

2016-01-08 Thread Soren Jacobsen
Module Name:src
Committed By:   snj
Date:   Fri Jan  8 21:25:28 UTC 2016

Modified Files:
src/sys/arch/xen/include/xen-public/io [netbsd-6-1]: ring.h
src/sys/arch/xen/xen [netbsd-6-1]: pciback.c xbdback_xenbus.c
xennetback_xenbus.c

Log Message:
Pull up following revision(s) (requested by bouyer in ticket #1358):
sys/arch/xen/include/xen-public/io/ring.h: revision 1.3 via patch
sys/arch/xen/xen/pciback.c: revision 1.10 via patch
sys/arch/xen/xen/xbdback_xenbus.c: revision 1.62 via patch
sys/arch/xen/xen/xennetback_xenbus.c: revision 1.54 via patch
Apply patch from xsa155: make sure that the backend won't read parts of the
request again (possibly because of compiler optimisations), by using
copies and barrier.
>From XSA155:
The compiler can emit optimizations in the PV backend drivers which
can lead to double fetch vulnerabilities. Specifically the shared
memory between the frontend and backend can be fetched twice (during
which time the frontend can alter the contents) possibly leading to
arbitrary code execution in backend.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.2.18.1 src/sys/arch/xen/include/xen-public/io/ring.h
cvs rdiff -u -r1.7 -r1.7.16.1 src/sys/arch/xen/xen/pciback.c
cvs rdiff -u -r1.55.2.1.6.2 -r1.55.2.1.6.3 \
src/sys/arch/xen/xen/xbdback_xenbus.c
cvs rdiff -u -r1.47 -r1.47.14.1 src/sys/arch/xen/xen/xennetback_xenbus.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/arch/xen/include/xen-public/io/ring.h
diff -u src/sys/arch/xen/include/xen-public/io/ring.h:1.2 src/sys/arch/xen/include/xen-public/io/ring.h:1.2.18.1
--- src/sys/arch/xen/include/xen-public/io/ring.h:1.2	Wed Dec  7 15:40:15 2011
+++ src/sys/arch/xen/include/xen-public/io/ring.h	Fri Jan  8 21:25:28 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: ring.h,v 1.2 2011/12/07 15:40:15 cegger Exp $ */
+/* $NetBSD: ring.h,v 1.2.18.1 2016/01/08 21:25:28 snj Exp $ */
 /**
  * ring.h
  * 
@@ -236,6 +236,20 @@ typedef struct __name##_back_ring __name
 #define RING_GET_REQUEST(_r, _idx)  \
 (&((_r)->sring->ring[((_idx) & (RING_SIZE(_r) - 1))].req))
 
+/*
+ * Get a local copy of a request.
+ *
+ * Use this in preference to RING_GET_REQUEST() so all processing is
+ * done on a local copy that cannot be modified by the other end.
+ *
+ * Note that https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58145 may cause this
+ * to be ineffective where _req is a struct which consists of only bitfields.
+ */
+#define RING_COPY_REQUEST(_r, _idx, _req) do {\
+	/* Use volatile to force the copy into _req. */			\
+	*(_req) = *(volatile typeof(_req))RING_GET_REQUEST(_r, _idx);	\
+} while (0)
+
 #define RING_GET_RESPONSE(_r, _idx) \
 (&((_r)->sring->ring[((_idx) & (RING_SIZE(_r) - 1))].rsp))
 

Index: src/sys/arch/xen/xen/pciback.c
diff -u src/sys/arch/xen/xen/pciback.c:1.7 src/sys/arch/xen/xen/pciback.c:1.7.16.1
--- src/sys/arch/xen/xen/pciback.c:1.7	Thu Feb  2 19:43:01 2012
+++ src/sys/arch/xen/xen/pciback.c	Fri Jan  8 21:25:28 2016
@@ -1,4 +1,4 @@
-/*  $NetBSD: pciback.c,v 1.7 2012/02/02 19:43:01 tls Exp $  */
+/*  $NetBSD: pciback.c,v 1.7.16.1 2016/01/08 21:25:28 snj Exp $  */
 
 /*
  * Copyright (c) 2009 Manuel Bouyer.
@@ -26,7 +26,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: pciback.c,v 1.7 2012/02/02 19:43:01 tls Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pciback.c,v 1.7.16.1 2016/01/08 21:25:28 snj Exp $");
 
 #include "opt_xen.h"
 
@@ -188,6 +188,7 @@ struct pb_xenbus_instance {
 	/* communication with the domU */
 unsigned int pbx_evtchn; /* our even channel */
 struct xen_pci_sharedinfo *pbx_sh_info;
+struct xen_pci_op op;
 grant_handle_t pbx_shinfo_handle; /* to unmap shared page */
 };
 
@@ -712,13 +713,16 @@ pciback_xenbus_evthandler(void * arg)
 {
 	struct pb_xenbus_instance *pbxi = arg;
 	struct pciback_pci_dev *pbd;
-	struct xen_pci_op *op = &pbxi->pbx_sh_info->op;
+	struct xen_pci_op *op = &pbxi->op;
 	u_int bus, dev, func;
 
 	hypervisor_clear_event(pbxi->pbx_evtchn);
 	if (xen_atomic_test_bit(&pbxi->pbx_sh_info->flags,
 	_XEN_PCIF_active) == 0)
 		return 0;
+
+	memcpy(op, &pbxi->pbx_sh_info->op, sizeof (struct xen_pci_op));
+	__insn_barrier();
 	if (op->domain != 0) {
 		aprint_error("pciback: domain %d != 0", op->domain);
 		op->err = XEN_PCI_ERR_dev_not_found;
@@ -785,6 +789,8 @@ pciback_xenbus_evthandler(void * arg)
 		aprint_error("pciback: unknown cmd %d\n", op->cmd);
 		op->err = XEN_PCI_ERR_not_implemented;
 	}
+	pbxi->pbx_sh_info->op.value = op->value;
+	pbxi->pbx_sh_info->op.err = op->err;
 end:
 	xen_atomic_clear_bit(&pbxi->pbx_sh_info->flags, _XEN_PCIF_active);
 	hypervisor_notify_via_evtchn(pbxi->pbx_evtchn);

Index: src/sys/arch/xen/xen/xbdback_xenbus.c

CVS commit: [netbsd-6] src/sys/arch/xen

2016-01-08 Thread Soren Jacobsen
Module Name:src
Committed By:   snj
Date:   Fri Jan  8 21:26:15 UTC 2016

Modified Files:
src/sys/arch/xen/include/xen-public/io [netbsd-6]: ring.h
src/sys/arch/xen/xen [netbsd-6]: pciback.c xbdback_xenbus.c
xennetback_xenbus.c

Log Message:
Pull up following revision(s) (requested by bouyer in ticket #1358):
sys/arch/xen/include/xen-public/io/ring.h: revision 1.3 via patch
sys/arch/xen/xen/pciback.c: revision 1.10 via patch
sys/arch/xen/xen/xbdback_xenbus.c: revision 1.62 via patch
sys/arch/xen/xen/xennetback_xenbus.c: revision 1.54 via patch
Apply patch from xsa155: make sure that the backend won't read parts of the
request again (possibly because of compiler optimisations), by using
copies and barrier.
>From XSA155:
The compiler can emit optimizations in the PV backend drivers which
can lead to double fetch vulnerabilities. Specifically the shared
memory between the frontend and backend can be fetched twice (during
which time the frontend can alter the contents) possibly leading to
arbitrary code execution in backend.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.2.2.1 src/sys/arch/xen/include/xen-public/io/ring.h
cvs rdiff -u -r1.7 -r1.7.2.1 src/sys/arch/xen/xen/pciback.c
cvs rdiff -u -r1.55.2.3 -r1.55.2.4 src/sys/arch/xen/xen/xbdback_xenbus.c
cvs rdiff -u -r1.47 -r1.47.8.1 src/sys/arch/xen/xen/xennetback_xenbus.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/arch/xen/include/xen-public/io/ring.h
diff -u src/sys/arch/xen/include/xen-public/io/ring.h:1.2 src/sys/arch/xen/include/xen-public/io/ring.h:1.2.2.1
--- src/sys/arch/xen/include/xen-public/io/ring.h:1.2	Wed Dec  7 15:40:15 2011
+++ src/sys/arch/xen/include/xen-public/io/ring.h	Fri Jan  8 21:26:15 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: ring.h,v 1.2 2011/12/07 15:40:15 cegger Exp $ */
+/* $NetBSD: ring.h,v 1.2.2.1 2016/01/08 21:26:15 snj Exp $ */
 /**
  * ring.h
  * 
@@ -236,6 +236,20 @@ typedef struct __name##_back_ring __name
 #define RING_GET_REQUEST(_r, _idx)  \
 (&((_r)->sring->ring[((_idx) & (RING_SIZE(_r) - 1))].req))
 
+/*
+ * Get a local copy of a request.
+ *
+ * Use this in preference to RING_GET_REQUEST() so all processing is
+ * done on a local copy that cannot be modified by the other end.
+ *
+ * Note that https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58145 may cause this
+ * to be ineffective where _req is a struct which consists of only bitfields.
+ */
+#define RING_COPY_REQUEST(_r, _idx, _req) do {\
+	/* Use volatile to force the copy into _req. */			\
+	*(_req) = *(volatile typeof(_req))RING_GET_REQUEST(_r, _idx);	\
+} while (0)
+
 #define RING_GET_RESPONSE(_r, _idx) \
 (&((_r)->sring->ring[((_idx) & (RING_SIZE(_r) - 1))].rsp))
 

Index: src/sys/arch/xen/xen/pciback.c
diff -u src/sys/arch/xen/xen/pciback.c:1.7 src/sys/arch/xen/xen/pciback.c:1.7.2.1
--- src/sys/arch/xen/xen/pciback.c:1.7	Thu Feb  2 19:43:01 2012
+++ src/sys/arch/xen/xen/pciback.c	Fri Jan  8 21:26:15 2016
@@ -1,4 +1,4 @@
-/*  $NetBSD: pciback.c,v 1.7 2012/02/02 19:43:01 tls Exp $  */
+/*  $NetBSD: pciback.c,v 1.7.2.1 2016/01/08 21:26:15 snj Exp $  */
 
 /*
  * Copyright (c) 2009 Manuel Bouyer.
@@ -26,7 +26,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: pciback.c,v 1.7 2012/02/02 19:43:01 tls Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pciback.c,v 1.7.2.1 2016/01/08 21:26:15 snj Exp $");
 
 #include "opt_xen.h"
 
@@ -188,6 +188,7 @@ struct pb_xenbus_instance {
 	/* communication with the domU */
 unsigned int pbx_evtchn; /* our even channel */
 struct xen_pci_sharedinfo *pbx_sh_info;
+struct xen_pci_op op;
 grant_handle_t pbx_shinfo_handle; /* to unmap shared page */
 };
 
@@ -712,13 +713,16 @@ pciback_xenbus_evthandler(void * arg)
 {
 	struct pb_xenbus_instance *pbxi = arg;
 	struct pciback_pci_dev *pbd;
-	struct xen_pci_op *op = &pbxi->pbx_sh_info->op;
+	struct xen_pci_op *op = &pbxi->op;
 	u_int bus, dev, func;
 
 	hypervisor_clear_event(pbxi->pbx_evtchn);
 	if (xen_atomic_test_bit(&pbxi->pbx_sh_info->flags,
 	_XEN_PCIF_active) == 0)
 		return 0;
+
+	memcpy(op, &pbxi->pbx_sh_info->op, sizeof (struct xen_pci_op));
+	__insn_barrier();
 	if (op->domain != 0) {
 		aprint_error("pciback: domain %d != 0", op->domain);
 		op->err = XEN_PCI_ERR_dev_not_found;
@@ -785,6 +789,8 @@ pciback_xenbus_evthandler(void * arg)
 		aprint_error("pciback: unknown cmd %d\n", op->cmd);
 		op->err = XEN_PCI_ERR_not_implemented;
 	}
+	pbxi->pbx_sh_info->op.value = op->value;
+	pbxi->pbx_sh_info->op.err = op->err;
 end:
 	xen_atomic_clear_bit(&pbxi->pbx_sh_info->flags, _XEN_PCIF_active);
 	hypervisor_notify_via_evtchn(pbxi->pbx_evtchn);

Index: src/sys/arch/xen/xen/xbdback_xenbus.c
diff -u src/sys/arch/xen/

CVS commit: [netbsd-6-1] src/doc

2016-01-08 Thread Soren Jacobsen
Module Name:src
Committed By:   snj
Date:   Fri Jan  8 21:25:54 UTC 2016

Modified Files:
src/doc [netbsd-6-1]: CHANGES-6.1.6

Log Message:
1358


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.54 -r1.1.2.55 src/doc/CHANGES-6.1.6

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

Modified files:

Index: src/doc/CHANGES-6.1.6
diff -u src/doc/CHANGES-6.1.6:1.1.2.54 src/doc/CHANGES-6.1.6:1.1.2.55
--- src/doc/CHANGES-6.1.6:1.1.2.54	Wed Nov 18 07:44:37 2015
+++ src/doc/CHANGES-6.1.6	Fri Jan  8 21:25:54 2016
@@ -1,4 +1,4 @@
-# $NetBSD: CHANGES-6.1.6,v 1.1.2.54 2015/11/18 07:44:37 msaitoh Exp $
+# $NetBSD: CHANGES-6.1.6,v 1.1.2.55 2016/01/08 21:25:54 snj Exp $
 
 A complete list of changes from the NetBSD 6.1.5 release to the NetBSD 6.1.6
 release:
@@ -6818,3 +6818,20 @@ sys/net/if_gif.c1.91, 1.92
 	Fix panic after "ifconfig gifX tunnel src dst" failed because of
 	duplicate pair address.
 	[knakahara, ticket #1345]
+
+sys/arch/xen/include/xen-public/io/ring.h	1.3 via patch
+sys/arch/xen/xen/pciback.c			1.10 via patch
+sys/arch/xen/xen/xbdback_xenbus.c		1.62 via patch
+sys/arch/xen/xen/xennetback_xenbus.c		1.54 via patch
+
+	Apply patch from xsa155: make sure that the backend won't read
+	parts of the request again (possibly because of compiler
+	optimisations), by using copies and barrier.
+	From XSA155:
+	The compiler can emit optimizations in the PV backend drivers
+	which can lead to double fetch vulnerabilities. Specifically
+	the shared memory between the frontend and backend can be fetched
+	twice (during which time the frontend can alter the contents)
+	possibly leading to arbitrary code execution in backend.
+	[bouyer, ticket #1358]
+



CVS commit: [netbsd-6-0] src/sys/arch/xen

2016-01-08 Thread Soren Jacobsen
Module Name:src
Committed By:   snj
Date:   Fri Jan  8 21:24:37 UTC 2016

Modified Files:
src/sys/arch/xen/include/xen-public/io [netbsd-6-0]: ring.h
src/sys/arch/xen/xen [netbsd-6-0]: pciback.c xbdback_xenbus.c
xennetback_xenbus.c

Log Message:
Pull up following revision(s) (requested by bouyer in ticket #1358):
sys/arch/xen/include/xen-public/io/ring.h: revision 1.3 via patch
sys/arch/xen/xen/pciback.c: revision 1.10 via patch
sys/arch/xen/xen/xbdback_xenbus.c: revision 1.62 via patch
sys/arch/xen/xen/xennetback_xenbus.c: revision 1.54 via patch
Apply patch from xsa155: make sure that the backend won't read parts of the
request again (possibly because of compiler optimisations), by using
copies and barrier.
>From XSA155:
The compiler can emit optimizations in the PV backend drivers which
can lead to double fetch vulnerabilities. Specifically the shared
memory between the frontend and backend can be fetched twice (during
which time the frontend can alter the contents) possibly leading to
arbitrary code execution in backend.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.2.10.1 src/sys/arch/xen/include/xen-public/io/ring.h
cvs rdiff -u -r1.7 -r1.7.8.1 src/sys/arch/xen/xen/pciback.c
cvs rdiff -u -r1.55.2.1.4.2 -r1.55.2.1.4.3 \
src/sys/arch/xen/xen/xbdback_xenbus.c
cvs rdiff -u -r1.47 -r1.47.12.1 src/sys/arch/xen/xen/xennetback_xenbus.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/arch/xen/include/xen-public/io/ring.h
diff -u src/sys/arch/xen/include/xen-public/io/ring.h:1.2 src/sys/arch/xen/include/xen-public/io/ring.h:1.2.10.1
--- src/sys/arch/xen/include/xen-public/io/ring.h:1.2	Wed Dec  7 15:40:15 2011
+++ src/sys/arch/xen/include/xen-public/io/ring.h	Fri Jan  8 21:24:37 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: ring.h,v 1.2 2011/12/07 15:40:15 cegger Exp $ */
+/* $NetBSD: ring.h,v 1.2.10.1 2016/01/08 21:24:37 snj Exp $ */
 /**
  * ring.h
  * 
@@ -236,6 +236,20 @@ typedef struct __name##_back_ring __name
 #define RING_GET_REQUEST(_r, _idx)  \
 (&((_r)->sring->ring[((_idx) & (RING_SIZE(_r) - 1))].req))
 
+/*
+ * Get a local copy of a request.
+ *
+ * Use this in preference to RING_GET_REQUEST() so all processing is
+ * done on a local copy that cannot be modified by the other end.
+ *
+ * Note that https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58145 may cause this
+ * to be ineffective where _req is a struct which consists of only bitfields.
+ */
+#define RING_COPY_REQUEST(_r, _idx, _req) do {\
+	/* Use volatile to force the copy into _req. */			\
+	*(_req) = *(volatile typeof(_req))RING_GET_REQUEST(_r, _idx);	\
+} while (0)
+
 #define RING_GET_RESPONSE(_r, _idx) \
 (&((_r)->sring->ring[((_idx) & (RING_SIZE(_r) - 1))].rsp))
 

Index: src/sys/arch/xen/xen/pciback.c
diff -u src/sys/arch/xen/xen/pciback.c:1.7 src/sys/arch/xen/xen/pciback.c:1.7.8.1
--- src/sys/arch/xen/xen/pciback.c:1.7	Thu Feb  2 19:43:01 2012
+++ src/sys/arch/xen/xen/pciback.c	Fri Jan  8 21:24:37 2016
@@ -1,4 +1,4 @@
-/*  $NetBSD: pciback.c,v 1.7 2012/02/02 19:43:01 tls Exp $  */
+/*  $NetBSD: pciback.c,v 1.7.8.1 2016/01/08 21:24:37 snj Exp $  */
 
 /*
  * Copyright (c) 2009 Manuel Bouyer.
@@ -26,7 +26,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: pciback.c,v 1.7 2012/02/02 19:43:01 tls Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pciback.c,v 1.7.8.1 2016/01/08 21:24:37 snj Exp $");
 
 #include "opt_xen.h"
 
@@ -188,6 +188,7 @@ struct pb_xenbus_instance {
 	/* communication with the domU */
 unsigned int pbx_evtchn; /* our even channel */
 struct xen_pci_sharedinfo *pbx_sh_info;
+struct xen_pci_op op;
 grant_handle_t pbx_shinfo_handle; /* to unmap shared page */
 };
 
@@ -712,13 +713,16 @@ pciback_xenbus_evthandler(void * arg)
 {
 	struct pb_xenbus_instance *pbxi = arg;
 	struct pciback_pci_dev *pbd;
-	struct xen_pci_op *op = &pbxi->pbx_sh_info->op;
+	struct xen_pci_op *op = &pbxi->op;
 	u_int bus, dev, func;
 
 	hypervisor_clear_event(pbxi->pbx_evtchn);
 	if (xen_atomic_test_bit(&pbxi->pbx_sh_info->flags,
 	_XEN_PCIF_active) == 0)
 		return 0;
+
+	memcpy(op, &pbxi->pbx_sh_info->op, sizeof (struct xen_pci_op));
+	__insn_barrier();
 	if (op->domain != 0) {
 		aprint_error("pciback: domain %d != 0", op->domain);
 		op->err = XEN_PCI_ERR_dev_not_found;
@@ -785,6 +789,8 @@ pciback_xenbus_evthandler(void * arg)
 		aprint_error("pciback: unknown cmd %d\n", op->cmd);
 		op->err = XEN_PCI_ERR_not_implemented;
 	}
+	pbxi->pbx_sh_info->op.value = op->value;
+	pbxi->pbx_sh_info->op.err = op->err;
 end:
 	xen_atomic_clear_bit(&pbxi->pbx_sh_info->flags, _XEN_PCIF_active);
 	hypervisor_notify_via_evtchn(pbxi->pbx_evtchn);

Index: src/sys/arch/xen/xen/xbdback_xenbus.c
dif

CVS commit: [netbsd-6-0] src/doc

2016-01-08 Thread Soren Jacobsen
Module Name:src
Committed By:   snj
Date:   Fri Jan  8 21:24:58 UTC 2016

Modified Files:
src/doc [netbsd-6-0]: CHANGES-6.0.7

Log Message:
1358


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.55 -r1.1.2.56 src/doc/CHANGES-6.0.7

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

Modified files:

Index: src/doc/CHANGES-6.0.7
diff -u src/doc/CHANGES-6.0.7:1.1.2.55 src/doc/CHANGES-6.0.7:1.1.2.56
--- src/doc/CHANGES-6.0.7:1.1.2.55	Wed Nov 18 07:45:00 2015
+++ src/doc/CHANGES-6.0.7	Fri Jan  8 21:24:58 2016
@@ -1,4 +1,4 @@
-# $NetBSD: CHANGES-6.0.7,v 1.1.2.55 2015/11/18 07:45:00 msaitoh Exp $
+# $NetBSD: CHANGES-6.0.7,v 1.1.2.56 2016/01/08 21:24:58 snj Exp $
 
 A complete list of changes from the NetBSD 6.0.6 release to the NetBSD 6.0.7
 release:
@@ -7098,3 +7098,20 @@ sys/net/if_gif.c1.91, 1.92
 	duplicate pair address.
 	fix CID 980463
 	[knakahara, ticket #1345]
+
+sys/arch/xen/include/xen-public/io/ring.h	1.3 via patch
+sys/arch/xen/xen/pciback.c			1.10 via patch
+sys/arch/xen/xen/xbdback_xenbus.c		1.62 via patch
+sys/arch/xen/xen/xennetback_xenbus.c		1.54 via patch
+
+	Apply patch from xsa155: make sure that the backend won't read
+	parts of the request again (possibly because of compiler
+	optimisations), by using copies and barrier.
+	From XSA155:
+	The compiler can emit optimizations in the PV backend drivers
+	which can lead to double fetch vulnerabilities. Specifically
+	the shared memory between the frontend and backend can be fetched
+	twice (during which time the frontend can alter the contents)
+	possibly leading to arbitrary code execution in backend.
+	[bouyer, ticket #1358]
+



CVS commit: [netbsd-7-0] src/doc

2016-01-08 Thread Soren Jacobsen
Module Name:src
Committed By:   snj
Date:   Fri Jan  8 21:06:58 UTC 2016

Modified Files:
src/doc [netbsd-7-0]: CHANGES-7.0.1

Log Message:
1071


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.23 -r1.1.2.24 src/doc/CHANGES-7.0.1

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

Modified files:

Index: src/doc/CHANGES-7.0.1
diff -u src/doc/CHANGES-7.0.1:1.1.2.23 src/doc/CHANGES-7.0.1:1.1.2.24
--- src/doc/CHANGES-7.0.1:1.1.2.23	Tue Jan  5 22:27:26 2016
+++ src/doc/CHANGES-7.0.1	Fri Jan  8 21:06:57 2016
@@ -1,4 +1,4 @@
-# $NetBSD: CHANGES-7.0.1,v 1.1.2.23 2016/01/05 22:27:26 snj Exp $
+# $NetBSD: CHANGES-7.0.1,v 1.1.2.24 2016/01/08 21:06:57 snj Exp $
 
 A complete list of changes from the NetBSD 7.0 release to the NetBSD 7.0.1
 release:
@@ -845,3 +845,19 @@ etc/namedb/root.cache1.19
 	* Make IPv6 address lower case.
 	[taca, ticket #1055]
 
+sys/arch/xen/include/xen-public/io/ring.h	1.3 via patch
+sys/arch/xen/xen/pciback.c			1.10 via patch
+sys/arch/xen/xen/xbdback_xenbus.c		1.62 via patch
+sys/arch/xen/xen/xennetback_xenbus.c		1.54 via patch
+
+	Apply patch from xsa155: make sure that the backend won't read
+	parts of the request again (possibly because of compiler
+	optimisations), by using copies and barrier.
+	From XSA155:
+	The compiler can emit optimizations in the PV backend drivers
+	which can lead to double fetch vulnerabilities. Specifically
+	the shared memory between the frontend and backend can be fetched
+	twice (during which time the frontend can alter the contents)
+	possibly leading to arbitrary code execution in backend.
+	[bouyer, ticket #1071]
+



CVS commit: [netbsd-7-0] src/sys/arch/xen

2016-01-08 Thread Soren Jacobsen
Module Name:src
Committed By:   snj
Date:   Fri Jan  8 21:06:07 UTC 2016

Modified Files:
src/sys/arch/xen/include/xen-public/io [netbsd-7-0]: ring.h
src/sys/arch/xen/xen [netbsd-7-0]: pciback.c xbdback_xenbus.c
xennetback_xenbus.c

Log Message:
Pull up following revision(s) (requested by bouyer in ticket #1071):
sys/arch/xen/include/xen-public/io/ring.h: revision 1.3 via patch
sys/arch/xen/xen/pciback.c: revision 1.10 via patch
sys/arch/xen/xen/xbdback_xenbus.c: revision 1.62 via patch
sys/arch/xen/xen/xennetback_xenbus.c: revision 1.54 via patch
Apply patch from xsa155: make sure that the backend won't read parts of the
request again (possibly because of compiler optimisations), by using
copies and barrier.
>From XSA155:
The compiler can emit optimizations in the PV backend drivers which
can lead to double fetch vulnerabilities. Specifically the shared
memory between the frontend and backend can be fetched twice (during
which time the frontend can alter the contents) possibly leading to
arbitrary code execution in backend.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.2.28.1 src/sys/arch/xen/include/xen-public/io/ring.h
cvs rdiff -u -r1.9 -r1.9.8.1 src/sys/arch/xen/xen/pciback.c
cvs rdiff -u -r1.59.4.1.2.1 -r1.59.4.1.2.2 \
src/sys/arch/xen/xen/xbdback_xenbus.c
cvs rdiff -u -r1.52 -r1.52.8.1 src/sys/arch/xen/xen/xennetback_xenbus.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/arch/xen/include/xen-public/io/ring.h
diff -u src/sys/arch/xen/include/xen-public/io/ring.h:1.2 src/sys/arch/xen/include/xen-public/io/ring.h:1.2.28.1
--- src/sys/arch/xen/include/xen-public/io/ring.h:1.2	Wed Dec  7 15:40:15 2011
+++ src/sys/arch/xen/include/xen-public/io/ring.h	Fri Jan  8 21:06:07 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: ring.h,v 1.2 2011/12/07 15:40:15 cegger Exp $ */
+/* $NetBSD: ring.h,v 1.2.28.1 2016/01/08 21:06:07 snj Exp $ */
 /**
  * ring.h
  * 
@@ -236,6 +236,20 @@ typedef struct __name##_back_ring __name
 #define RING_GET_REQUEST(_r, _idx)  \
 (&((_r)->sring->ring[((_idx) & (RING_SIZE(_r) - 1))].req))
 
+/*
+ * Get a local copy of a request.
+ *
+ * Use this in preference to RING_GET_REQUEST() so all processing is
+ * done on a local copy that cannot be modified by the other end.
+ *
+ * Note that https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58145 may cause this
+ * to be ineffective where _req is a struct which consists of only bitfields.
+ */
+#define RING_COPY_REQUEST(_r, _idx, _req) do {\
+	/* Use volatile to force the copy into _req. */			\
+	*(_req) = *(volatile typeof(_req))RING_GET_REQUEST(_r, _idx);	\
+} while (0)
+
 #define RING_GET_RESPONSE(_r, _idx) \
 (&((_r)->sring->ring[((_idx) & (RING_SIZE(_r) - 1))].rsp))
 

Index: src/sys/arch/xen/xen/pciback.c
diff -u src/sys/arch/xen/xen/pciback.c:1.9 src/sys/arch/xen/xen/pciback.c:1.9.8.1
--- src/sys/arch/xen/xen/pciback.c:1.9	Sat Mar 29 19:28:30 2014
+++ src/sys/arch/xen/xen/pciback.c	Fri Jan  8 21:06:07 2016
@@ -1,4 +1,4 @@
-/*  $NetBSD: pciback.c,v 1.9 2014/03/29 19:28:30 christos Exp $  */
+/*  $NetBSD: pciback.c,v 1.9.8.1 2016/01/08 21:06:07 snj Exp $  */
 
 /*
  * Copyright (c) 2009 Manuel Bouyer.
@@ -26,7 +26,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: pciback.c,v 1.9 2014/03/29 19:28:30 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pciback.c,v 1.9.8.1 2016/01/08 21:06:07 snj Exp $");
 
 #include "opt_xen.h"
 
@@ -188,6 +188,7 @@ struct pb_xenbus_instance {
 	/* communication with the domU */
 unsigned int pbx_evtchn; /* our even channel */
 struct xen_pci_sharedinfo *pbx_sh_info;
+struct xen_pci_op op;
 grant_handle_t pbx_shinfo_handle; /* to unmap shared page */
 };
 
@@ -721,13 +722,16 @@ pciback_xenbus_evthandler(void * arg)
 {
 	struct pb_xenbus_instance *pbxi = arg;
 	struct pciback_pci_dev *pbd;
-	struct xen_pci_op *op = &pbxi->pbx_sh_info->op;
+	struct xen_pci_op *op = &pbxi->op;
 	u_int bus, dev, func;
 
 	hypervisor_clear_event(pbxi->pbx_evtchn);
 	if (xen_atomic_test_bit(&pbxi->pbx_sh_info->flags,
 	_XEN_PCIF_active) == 0)
 		return 0;
+
+	memcpy(op, &pbxi->pbx_sh_info->op, sizeof (struct xen_pci_op));
+	__insn_barrier();
 	if (op->domain != 0) {
 		aprint_error("pciback: domain %d != 0", op->domain);
 		op->err = XEN_PCI_ERR_dev_not_found;
@@ -794,6 +798,8 @@ pciback_xenbus_evthandler(void * arg)
 		aprint_error("pciback: unknown cmd %d\n", op->cmd);
 		op->err = XEN_PCI_ERR_not_implemented;
 	}
+	pbxi->pbx_sh_info->op.value = op->value;
+	pbxi->pbx_sh_info->op.err = op->err;
 end:
 	xen_atomic_clear_bit(&pbxi->pbx_sh_info->flags, _XEN_PCIF_active);
 	hypervisor_notify_via_evtchn(pbxi->pbx_evtchn);

Index: src/sys/arch/xen/xen/xbdback_xen

CVS commit: [netbsd-7] src/sys/arch/xen

2016-01-08 Thread Soren Jacobsen
Module Name:src
Committed By:   snj
Date:   Fri Jan  8 21:05:14 UTC 2016

Modified Files:
src/sys/arch/xen/include/xen-public/io [netbsd-7]: ring.h
src/sys/arch/xen/xen [netbsd-7]: pciback.c xbdback_xenbus.c
xennetback_xenbus.c

Log Message:
Pull up following revision(s) (requested by bouyer in ticket #1071):
sys/arch/xen/include/xen-public/io/ring.h: revision 1.3 via patch
sys/arch/xen/xen/pciback.c: revision 1.10 via patch
sys/arch/xen/xen/xbdback_xenbus.c: revision 1.62 via patch
sys/arch/xen/xen/xennetback_xenbus.c: revision 1.54 via patch
Apply patch from xsa155: make sure that the backend won't read parts of the
request again (possibly because of compiler optimisations), by using
copies and barrier.
>From XSA155:
The compiler can emit optimizations in the PV backend drivers which
can lead to double fetch vulnerabilities. Specifically the shared
memory between the frontend and backend can be fetched twice (during
which time the frontend can alter the contents) possibly leading to
arbitrary code execution in backend.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.2.24.1 src/sys/arch/xen/include/xen-public/io/ring.h
cvs rdiff -u -r1.9 -r1.9.4.1 src/sys/arch/xen/xen/pciback.c
cvs rdiff -u -r1.59.4.2 -r1.59.4.3 src/sys/arch/xen/xen/xbdback_xenbus.c
cvs rdiff -u -r1.52 -r1.52.4.1 src/sys/arch/xen/xen/xennetback_xenbus.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/arch/xen/include/xen-public/io/ring.h
diff -u src/sys/arch/xen/include/xen-public/io/ring.h:1.2 src/sys/arch/xen/include/xen-public/io/ring.h:1.2.24.1
--- src/sys/arch/xen/include/xen-public/io/ring.h:1.2	Wed Dec  7 15:40:15 2011
+++ src/sys/arch/xen/include/xen-public/io/ring.h	Fri Jan  8 21:05:14 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: ring.h,v 1.2 2011/12/07 15:40:15 cegger Exp $ */
+/* $NetBSD: ring.h,v 1.2.24.1 2016/01/08 21:05:14 snj Exp $ */
 /**
  * ring.h
  * 
@@ -236,6 +236,20 @@ typedef struct __name##_back_ring __name
 #define RING_GET_REQUEST(_r, _idx)  \
 (&((_r)->sring->ring[((_idx) & (RING_SIZE(_r) - 1))].req))
 
+/*
+ * Get a local copy of a request.
+ *
+ * Use this in preference to RING_GET_REQUEST() so all processing is
+ * done on a local copy that cannot be modified by the other end.
+ *
+ * Note that https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58145 may cause this
+ * to be ineffective where _req is a struct which consists of only bitfields.
+ */
+#define RING_COPY_REQUEST(_r, _idx, _req) do {\
+	/* Use volatile to force the copy into _req. */			\
+	*(_req) = *(volatile typeof(_req))RING_GET_REQUEST(_r, _idx);	\
+} while (0)
+
 #define RING_GET_RESPONSE(_r, _idx) \
 (&((_r)->sring->ring[((_idx) & (RING_SIZE(_r) - 1))].rsp))
 

Index: src/sys/arch/xen/xen/pciback.c
diff -u src/sys/arch/xen/xen/pciback.c:1.9 src/sys/arch/xen/xen/pciback.c:1.9.4.1
--- src/sys/arch/xen/xen/pciback.c:1.9	Sat Mar 29 19:28:30 2014
+++ src/sys/arch/xen/xen/pciback.c	Fri Jan  8 21:05:14 2016
@@ -1,4 +1,4 @@
-/*  $NetBSD: pciback.c,v 1.9 2014/03/29 19:28:30 christos Exp $  */
+/*  $NetBSD: pciback.c,v 1.9.4.1 2016/01/08 21:05:14 snj Exp $  */
 
 /*
  * Copyright (c) 2009 Manuel Bouyer.
@@ -26,7 +26,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: pciback.c,v 1.9 2014/03/29 19:28:30 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pciback.c,v 1.9.4.1 2016/01/08 21:05:14 snj Exp $");
 
 #include "opt_xen.h"
 
@@ -188,6 +188,7 @@ struct pb_xenbus_instance {
 	/* communication with the domU */
 unsigned int pbx_evtchn; /* our even channel */
 struct xen_pci_sharedinfo *pbx_sh_info;
+struct xen_pci_op op;
 grant_handle_t pbx_shinfo_handle; /* to unmap shared page */
 };
 
@@ -721,13 +722,16 @@ pciback_xenbus_evthandler(void * arg)
 {
 	struct pb_xenbus_instance *pbxi = arg;
 	struct pciback_pci_dev *pbd;
-	struct xen_pci_op *op = &pbxi->pbx_sh_info->op;
+	struct xen_pci_op *op = &pbxi->op;
 	u_int bus, dev, func;
 
 	hypervisor_clear_event(pbxi->pbx_evtchn);
 	if (xen_atomic_test_bit(&pbxi->pbx_sh_info->flags,
 	_XEN_PCIF_active) == 0)
 		return 0;
+
+	memcpy(op, &pbxi->pbx_sh_info->op, sizeof (struct xen_pci_op));
+	__insn_barrier();
 	if (op->domain != 0) {
 		aprint_error("pciback: domain %d != 0", op->domain);
 		op->err = XEN_PCI_ERR_dev_not_found;
@@ -794,6 +798,8 @@ pciback_xenbus_evthandler(void * arg)
 		aprint_error("pciback: unknown cmd %d\n", op->cmd);
 		op->err = XEN_PCI_ERR_not_implemented;
 	}
+	pbxi->pbx_sh_info->op.value = op->value;
+	pbxi->pbx_sh_info->op.err = op->err;
 end:
 	xen_atomic_clear_bit(&pbxi->pbx_sh_info->flags, _XEN_PCIF_active);
 	hypervisor_notify_via_evtchn(pbxi->pbx_evtchn);

Index: src/sys/arch/xen/xen/xbdback_xenbus.c
diff -u src/

CVS commit: [netbsd-7] src/doc

2016-01-08 Thread Soren Jacobsen
Module Name:src
Committed By:   snj
Date:   Fri Jan  8 21:05:37 UTC 2016

Modified Files:
src/doc [netbsd-7]: CHANGES-7.1

Log Message:
1071


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.43 -r1.1.2.44 src/doc/CHANGES-7.1

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

Modified files:

Index: src/doc/CHANGES-7.1
diff -u src/doc/CHANGES-7.1:1.1.2.43 src/doc/CHANGES-7.1:1.1.2.44
--- src/doc/CHANGES-7.1:1.1.2.43	Tue Jan  5 22:29:48 2016
+++ src/doc/CHANGES-7.1	Fri Jan  8 21:05:37 2016
@@ -1,4 +1,4 @@
-# $NetBSD: CHANGES-7.1,v 1.1.2.43 2016/01/05 22:29:48 snj Exp $
+# $NetBSD: CHANGES-7.1,v 1.1.2.44 2016/01/08 21:05:37 snj Exp $
 
 A complete list of changes from the NetBSD 7.0 release to the NetBSD 7.1
 release:
@@ -1736,3 +1736,19 @@ sys/arch/arm/conf/Makefile.arm			1.43
 	Make ARM BE8 work.
 	[martin, ticket #1058]
 
+sys/arch/xen/include/xen-public/io/ring.h	1.3 via patch
+sys/arch/xen/xen/pciback.c			1.10 via patch
+sys/arch/xen/xen/xbdback_xenbus.c		1.62 via patch
+sys/arch/xen/xen/xennetback_xenbus.c		1.54 via patch
+
+	Apply patch from xsa155: make sure that the backend won't read
+	parts of the request again (possibly because of compiler
+	optimisations), by using copies and barrier.
+	From XSA155:
+	The compiler can emit optimizations in the PV backend drivers
+	which can lead to double fetch vulnerabilities. Specifically
+	the shared memory between the frontend and backend can be fetched
+	twice (during which time the frontend can alter the contents)
+	possibly leading to arbitrary code execution in backend.
+	[bouyer, ticket #1071]
+



CVS import: src/external/bsd/ntp/dist

2016-01-08 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Fri Jan  8 20:56:13 UTC 2016

Update of /cvsroot/src/external/bsd/ntp/dist
In directory ivanova.netbsd.org:/tmp/cvs-serv25410

Log Message:
Import ntp 4.2.8p5

Status:

Vendor Tag: UDEL
Release Tags:   ntp-4-2-8p5

U src/external/bsd/ntp/dist/CommitLog-4.1.0
U src/external/bsd/ntp/dist/Makefile.am
U src/external/bsd/ntp/dist/configure
U src/external/bsd/ntp/dist/configure.ac
U src/external/bsd/ntp/dist/aclocal.m4
U src/external/bsd/ntp/dist/Makefile.in
U src/external/bsd/ntp/dist/config.h.in
U src/external/bsd/ntp/dist/ChangeLog
U src/external/bsd/ntp/dist/INSTALL
U src/external/bsd/ntp/dist/NEWS
U src/external/bsd/ntp/dist/README
U src/external/bsd/ntp/dist/TODO
U src/external/bsd/ntp/dist/COPYRIGHT
U src/external/bsd/ntp/dist/CommitLog
U src/external/bsd/ntp/dist/NOTES.y2kfixes
U src/external/bsd/ntp/dist/README.bk
U src/external/bsd/ntp/dist/README.hackers
U src/external/bsd/ntp/dist/README.leapsmear
U src/external/bsd/ntp/dist/README.patches
U src/external/bsd/ntp/dist/README.refclocks
U src/external/bsd/ntp/dist/README.versions
U src/external/bsd/ntp/dist/build
U src/external/bsd/ntp/dist/WHERE-TO-START
U src/external/bsd/ntp/dist/bootstrap
U src/external/bsd/ntp/dist/dot.emacs
U src/external/bsd/ntp/dist/flock-build
U src/external/bsd/ntp/dist/packageinfo.sh
U src/external/bsd/ntp/dist/readme.y2kfixes
U src/external/bsd/ntp/dist/results.y2kfixes
U src/external/bsd/ntp/dist/deps-ver
U src/external/bsd/ntp/dist/depsver.mf
U src/external/bsd/ntp/dist/includes.mf
U src/external/bsd/ntp/dist/check-libopts.mf
U src/external/bsd/ntp/dist/bincheck.mf
N src/external/bsd/ntp/dist/config.log
N src/external/bsd/ntp/dist/o
N src/external/bsd/ntp/dist/config.status
N src/external/bsd/ntp/dist/Makefile
N src/external/bsd/ntp/dist/config.h
N src/external/bsd/ntp/dist/stamp-h1
N src/external/bsd/ntp/dist/libtool
C src/external/bsd/ntp/dist/lib/isc/assertions.c
U src/external/bsd/ntp/dist/lib/isc/Atffile
C src/external/bsd/ntp/dist/lib/isc/base32.c
U src/external/bsd/ntp/dist/lib/isc/api
C src/external/bsd/ntp/dist/lib/isc/inet_pton.c
C src/external/bsd/ntp/dist/lib/isc/backtrace-emptytbl.c
C src/external/bsd/ntp/dist/lib/isc/app_api.c
C src/external/bsd/ntp/dist/lib/isc/buffer.c
C src/external/bsd/ntp/dist/lib/isc/base64.c
C src/external/bsd/ntp/dist/lib/isc/backtrace.c
C src/external/bsd/ntp/dist/lib/isc/entropy.c
C src/external/bsd/ntp/dist/lib/isc/bufferlist.c
C src/external/bsd/ntp/dist/lib/isc/bitstring.c
C src/external/bsd/ntp/dist/lib/isc/fsaccess.c
C src/external/bsd/ntp/dist/lib/isc/error.c
C src/external/bsd/ntp/dist/lib/isc/commandline.c
C src/external/bsd/ntp/dist/lib/isc/hex.c
C src/external/bsd/ntp/dist/lib/isc/hash.c
C src/external/bsd/ntp/dist/lib/isc/event.c
C src/external/bsd/ntp/dist/lib/isc/httpd.c
C src/external/bsd/ntp/dist/lib/isc/hmacmd5.c
C src/external/bsd/ntp/dist/lib/isc/heap.c
C src/external/bsd/ntp/dist/lib/isc/lfsr.c
C src/external/bsd/ntp/dist/lib/isc/iterated_hash.c
C src/external/bsd/ntp/dist/lib/isc/inet_aton.c
C src/external/bsd/ntp/dist/lib/isc/hmacsha.c
C src/external/bsd/ntp/dist/lib/isc/inet_ntop.c
C src/external/bsd/ntp/dist/lib/isc/md5.c
C src/external/bsd/ntp/dist/lib/isc/mutexblock.c
C src/external/bsd/ntp/dist/lib/isc/lib.c
C src/external/bsd/ntp/dist/lib/isc/lex.c
C src/external/bsd/ntp/dist/lib/isc/mem.c
C src/external/bsd/ntp/dist/lib/isc/random.c
C src/external/bsd/ntp/dist/lib/isc/ondestroy.c
C src/external/bsd/ntp/dist/lib/isc/log.c
C src/external/bsd/ntp/dist/lib/isc/netaddr.c
C src/external/bsd/ntp/dist/lib/isc/print.c
C src/external/bsd/ntp/dist/lib/isc/mem_api.c
C src/external/bsd/ntp/dist/lib/isc/parseint.c
C src/external/bsd/ntp/dist/lib/isc/netscope.c
C src/external/bsd/ntp/dist/lib/isc/timer_api.c
C src/external/bsd/ntp/dist/lib/isc/portset.c
C src/external/bsd/ntp/dist/lib/isc/quota.c
C src/external/bsd/ntp/dist/lib/isc/region.c
C src/external/bsd/ntp/dist/lib/isc/timer.c
C src/external/bsd/ntp/dist/lib/isc/ratelimiter.c
C src/external/bsd/ntp/dist/lib/isc/serial.c
C src/external/bsd/ntp/dist/lib/isc/radix.c
C src/external/bsd/ntp/dist/lib/isc/result.c
C src/external/bsd/ntp/dist/lib/isc/sockaddr.c
C src/external/bsd/ntp/dist/lib/isc/refcount.c
C src/external/bsd/ntp/dist/lib/isc/sha1.c
C src/external/bsd/ntp/dist/lib/isc/rwlock.c
C src/external/bsd/ntp/dist/lib/isc/string.c
C src/external/bsd/ntp/dist/lib/isc/socket_api.c
C src/external/bsd/ntp/dist/lib/isc/sha2.c
C src/external/bsd/ntp/dist/lib/isc/task.c
C src/external/bsd/ntp/dist/lib/isc/strtoul.c
C src/external/bsd/ntp/dist/lib/isc/stats.c
C src/external/bsd/ntp/dist/lib/isc/taskpool.c
C src/external/bsd/ntp/dist/lib/isc/task_api.c
C src/external/bsd/ntp/dist/lib/isc/timer_p.h
C src/external/bsd/ntp/dist/lib/isc/symtab.c
C src/external/bsd/ntp/dist/lib/isc/task_p.h
C src/external/bsd/ntp/dist/lib/isc/version.c
C src/external/bsd/ntp/dist/lib/isc/alpha/include/isc/atomic.h
C src/external/bsd/ntp/dist/lib/isc/ia64/include/is

CVS commit: src/external/bsd

2016-01-08 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Fri Jan  8 19:01:12 UTC 2016

Modified Files:
src/external/bsd/bind/dist/lib/isc: netaddr.c
src/external/bsd/ntp/dist/lib/isc: netaddr.c

Log Message:
Don't increment the induction variable twice.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/external/bsd/bind/dist/lib/isc/netaddr.c
cvs rdiff -u -r1.7 -r1.8 src/external/bsd/ntp/dist/lib/isc/netaddr.c

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

Modified files:

Index: src/external/bsd/bind/dist/lib/isc/netaddr.c
diff -u src/external/bsd/bind/dist/lib/isc/netaddr.c:1.6 src/external/bsd/bind/dist/lib/isc/netaddr.c:1.7
--- src/external/bsd/bind/dist/lib/isc/netaddr.c:1.6	Wed Dec 10 04:37:59 2014
+++ src/external/bsd/bind/dist/lib/isc/netaddr.c	Fri Jan  8 19:01:12 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: netaddr.c,v 1.6 2014/12/10 04:37:59 christos Exp $	*/
+/*	$NetBSD: netaddr.c,v 1.7 2016/01/08 19:01:12 joerg Exp $	*/
 
 /*
  * Copyright (C) 2004, 2005, 2007, 2010-2012, 2014  Internet Systems Consortium, Inc. ("ISC")
@@ -281,7 +281,6 @@ isc_netaddr_masktoprefixlen(const isc_ne
 	for (; i < ipbytes; i++) {
 		if (p[i] != 0)
 			return (ISC_R_MASKNONCONTIG);
-		i++;
 	}
 	*lenp = nbytes * 8 + nbits;
 	return (ISC_R_SUCCESS);

Index: src/external/bsd/ntp/dist/lib/isc/netaddr.c
diff -u src/external/bsd/ntp/dist/lib/isc/netaddr.c:1.7 src/external/bsd/ntp/dist/lib/isc/netaddr.c:1.8
--- src/external/bsd/ntp/dist/lib/isc/netaddr.c:1.7	Fri Jul 10 14:20:29 2015
+++ src/external/bsd/ntp/dist/lib/isc/netaddr.c	Fri Jan  8 19:01:12 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: netaddr.c,v 1.7 2015/07/10 14:20:29 christos Exp $	*/
+/*	$NetBSD: netaddr.c,v 1.8 2016/01/08 19:01:12 joerg Exp $	*/
 
 /*
  * Copyright (C) 2004, 2005, 2007, 2010-2012  Internet Systems Consortium, Inc. ("ISC")
@@ -282,7 +282,6 @@ isc_netaddr_masktoprefixlen(const isc_ne
 	for (; i < ipbytes; i++) {
 		if (p[i] != 0)
 			return (ISC_R_MASKNONCONTIG);
-		i++;
 	}
 	*lenp = nbytes * 8 + nbits;
 	return (ISC_R_SUCCESS);



CVS commit: src/sbin/gpt

2016-01-08 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Fri Jan  8 18:59:01 UTC 2016

Modified Files:
src/sbin/gpt: gpt.c

Log Message:
gpt_vwarnx is printf-like.


To generate a diff of this commit:
cvs rdiff -u -r1.66 -r1.67 src/sbin/gpt/gpt.c

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

Modified files:

Index: src/sbin/gpt/gpt.c
diff -u src/sbin/gpt/gpt.c:1.66 src/sbin/gpt/gpt.c:1.67
--- src/sbin/gpt/gpt.c:1.66	Tue Dec 29 16:45:04 2015
+++ src/sbin/gpt/gpt.c	Fri Jan  8 18:59:01 2016
@@ -35,7 +35,7 @@
 __FBSDID("$FreeBSD: src/sbin/gpt/gpt.c,v 1.16 2006/07/07 02:44:23 marcel Exp $");
 #endif
 #ifdef __RCSID
-__RCSID("$NetBSD: gpt.c,v 1.66 2015/12/29 16:45:04 christos Exp $");
+__RCSID("$NetBSD: gpt.c,v 1.67 2016/01/08 18:59:01 joerg Exp $");
 #endif
 
 #include 
@@ -592,6 +592,7 @@ out:
 	close(gpt->fd);
 }
 
+__printflike(2, 0)
 static void
 gpt_vwarnx(gpt_t gpt, const char *fmt, va_list ap, const char *e)
 {



CVS commit: src/tests/dev/usb

2016-01-08 Thread Jonathan A. Kollasch
Module Name:src
Committed By:   jakllsch
Date:   Fri Jan  8 17:34:57 UTC 2016

Modified Files:
src/tests/dev/usb: t_hid.c

Log Message:
fix test program for hid item checks


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/tests/dev/usb/t_hid.c

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

Modified files:

Index: src/tests/dev/usb/t_hid.c
diff -u src/tests/dev/usb/t_hid.c:1.3 src/tests/dev/usb/t_hid.c:1.4
--- src/tests/dev/usb/t_hid.c:1.3	Thu Jan  7 16:10:49 2016
+++ src/tests/dev/usb/t_hid.c	Fri Jan  8 17:34:57 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: t_hid.c,v 1.3 2016/01/07 16:10:49 jakllsch Exp $	*/
+/*	$NetBSD: t_hid.c,v 1.4 2016/01/08 17:34:57 jakllsch Exp $	*/
 
 /*
  * Copyright (c) 2016 Jonathan A. Kollasch
@@ -27,7 +27,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: t_hid.c,v 1.3 2016/01/07 16:10:49 jakllsch Exp $");
+__RCSID("$NetBSD: t_hid.c,v 1.4 2016/01/08 17:34:57 jakllsch Exp $");
 
 #include 
 #include 
@@ -42,6 +42,8 @@ __RCSID("$NetBSD: t_hid.c,v 1.3 2016/01/
 #define hid_get_data rumpns_hid_get_data
 #define hid_get_udata rumpns_hid_get_udata
 #define uhidevdebug rumpns_uhidevdebug
+#include 
+#include 
 #include 
 
 #include "../../lib/libusbhid/hid_test_data.c"
@@ -74,6 +76,29 @@ ATF_TC_HEAD(khid, tc)
 atf_tc_set_md_var(tc, "descr", "check kernel hid.c");
 }
 
+static int
+locate_item(const void *desc, int size, u_int32_t u, u_int8_t id,
+enum hid_kind k, struct hid_item *hip, u_int32_t *flags)
+{
+	struct hid_data *d;
+	struct hid_item h;
+
+	h.report_ID = 0;
+	for (d = hid_start_parse(desc, size, k); hid_get_item(d, &h); ) {
+		if (h.kind == k && !(h.flags & HIO_CONST) &&
+		(/*XXX*/uint32_t)h.usage == u && h.report_ID == id) {
+			if (hip != NULL)
+*hip = h;
+			if (flags != NULL)
+*flags = h.flags;
+			hid_end_parse(d);
+			return (1);
+		}
+	}
+	hid_end_parse(d);
+	return (0);
+}
+
 ATF_TC_BODY(khid, tc)
 {
 	int ret;
@@ -82,11 +107,9 @@ ATF_TC_BODY(khid, tc)
 
 	uhidevdebug = 0;
 
-	atf_tc_expect_fail("logical/physical range appears broken");
-
-	ret = hid_locate(range_test_report_descriptor,
+	ret = locate_item(range_test_report_descriptor,
 	sizeof(range_test_report_descriptor), 0xff03, 0, hid_input,
-	&hi.loc, &flags);
+	&hi, &flags);
 	ATF_REQUIRE(ret > 0);
 	MYu_ATF_CHECK_EQ(hi.loc.size, 32);
 	MYu_ATF_CHECK_EQ(hi.loc.count, 1);
@@ -105,9 +128,9 @@ ATF_TC_BODY(khid, tc)
 	MYld_ATF_CHECK_EQ(hid_get_data(range_test_maximum_report,
 	&hi.loc), 2147483647);
 
-	ret = hid_locate(range_test_report_descriptor,
+	ret = locate_item(range_test_report_descriptor,
 	sizeof(range_test_report_descriptor), 0xff02, 0, hid_input,
-	&hi.loc, &flags);
+	&hi, &flags);
 	ATF_REQUIRE(ret > 0);
 	MYu_ATF_CHECK_EQ(hi.loc.size, 16);
 	MYu_ATF_CHECK_EQ(hi.loc.count, 1);
@@ -126,9 +149,9 @@ ATF_TC_BODY(khid, tc)
 	MYld_ATF_CHECK_EQ(hid_get_data(range_test_maximum_report,
 	&hi.loc), 32767);
 
-	ret = hid_locate(range_test_report_descriptor,
+	ret = locate_item(range_test_report_descriptor,
 	sizeof(range_test_report_descriptor), 0xff01, 0, hid_input,
-	&hi.loc, &flags);
+	&hi, &flags);
 	ATF_REQUIRE(ret > 0);
 	MYu_ATF_CHECK_EQ(hi.loc.size, 8);
 	MYu_ATF_CHECK_EQ(hi.loc.count, 1);
@@ -148,9 +171,9 @@ ATF_TC_BODY(khid, tc)
 	&hi.loc), 127);
 
 
-	ret = hid_locate(unsigned_range_test_report_descriptor,
+	ret = locate_item(unsigned_range_test_report_descriptor,
 	sizeof(unsigned_range_test_report_descriptor), 0xff13, 0,
-	hid_input, &hi.loc, &flags);
+	hid_input, &hi, &flags);
 	ATF_REQUIRE(ret > 0);
 	MYu_ATF_CHECK_EQ(hi.loc.size, 32);
 	MYu_ATF_CHECK_EQ(hi.loc.count, 1);
@@ -165,9 +188,9 @@ ATF_TC_BODY(khid, tc)
 	MYlx_ATF_CHECK_EQ(hid_get_udata(unsigned_range_test_maximum_report,
 	&hi.loc), 0x);
 
-	ret = hid_locate(unsigned_range_test_report_descriptor,
+	ret = locate_item(unsigned_range_test_report_descriptor,
 	sizeof(unsigned_range_test_report_descriptor), 0xff12, 0,
-	hid_input, &hi.loc, &flags);
+	hid_input, &hi, &flags);
 	ATF_REQUIRE(ret > 0);
 	MYu_ATF_CHECK_EQ(hi.loc.size, 16);
 	MYu_ATF_CHECK_EQ(hi.loc.count, 1);
@@ -182,9 +205,9 @@ ATF_TC_BODY(khid, tc)
 	MYlx_ATF_CHECK_EQ(hid_get_udata(unsigned_range_test_maximum_report,
 	&hi.loc), 0x);
 
-	ret = hid_locate(unsigned_range_test_report_descriptor,
+	ret = locate_item(unsigned_range_test_report_descriptor,
 	sizeof(unsigned_range_test_report_descriptor), 0xff11, 0,
-	hid_input, &hi.loc, &flags);
+	hid_input, &hi, &flags);
 	ATF_REQUIRE(ret > 0);
 	MYu_ATF_CHECK_EQ(hi.loc.size, 8);
 	MYu_ATF_CHECK_EQ(hi.loc.count, 1);



CVS commit: src/tests/dev/usb

2016-01-08 Thread Jonathan A. Kollasch
Module Name:src
Committed By:   jakllsch
Date:   Fri Jan  8 17:27:48 UTC 2016

Modified Files:
src/tests/dev/usb: Makefile
Added Files:
src/tests/dev/usb/t_hid: Makefile

Log Message:
rework build of t_hid to be more reliable, while working around ATF cruddyness


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/tests/dev/usb/Makefile
cvs rdiff -u -r0 -r1.1 src/tests/dev/usb/t_hid/Makefile

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

Modified files:

Index: src/tests/dev/usb/Makefile
diff -u src/tests/dev/usb/Makefile:1.2 src/tests/dev/usb/Makefile:1.3
--- src/tests/dev/usb/Makefile:1.2	Wed Jan  6 15:34:54 2016
+++ src/tests/dev/usb/Makefile	Fri Jan  8 17:27:48 2016
@@ -1,22 +1,12 @@
-#	$NetBSD: Makefile,v 1.2 2016/01/06 15:34:54 christos Exp $
+#	$NetBSD: Makefile,v 1.3 2016/01/08 17:27:48 jakllsch Exp $
 #
 
 .include 
 
-TESTSDIR=	${TESTSBASE}/dev/usb
-
-TESTS_C=	t_hid
+SUBDIR= libhid .WAIT
 
-CPPFLAGS.t_hid.c=	-I${.CURDIR}/../../../sys/dev/usb
-
-SUBDIR=	libhid
-LIBHIDDIR!= cd ${.CURDIR}/libhid && ${PRINTOBJDIR}
-LDFLAGS+= -L${LIBHIDDIR}
-LDADD+= -Wl,--whole-archive -lrumpdev_hid -Wl,--no-whole-archive
+TESTSDIR=	${TESTSBASE}/dev/usb
 
-LDADD+= -lrump
-LDADD+= -lrumpuser
-LDADD+= -lrump
-LDADD+= -lpthread
+TESTS_SUBDIRS= t_hid
 
 .include 

Added files:

Index: src/tests/dev/usb/t_hid/Makefile
diff -u /dev/null src/tests/dev/usb/t_hid/Makefile:1.1
--- /dev/null	Fri Jan  8 17:27:48 2016
+++ src/tests/dev/usb/t_hid/Makefile	Fri Jan  8 17:27:48 2016
@@ -0,0 +1,26 @@
+#	$NetBSD: Makefile,v 1.1 2016/01/08 17:27:48 jakllsch Exp $
+#
+
+PROG= t_hid
+NOMAN=
+
+.PATH: ${.CURDIR}/..
+
+CPPFLAGS.t_hid.c= -I${.CURDIR}/../../../../sys/dev/usb
+
+.include 
+
+BINDIR= ${TESTSBASE}/dev/usb
+
+LIBHIDDIR!= cd ${.CURDIR}/../libhid && ${PRINTOBJDIR}
+LDFLAGS+= -L${LIBHIDDIR}
+LDADD+= -Wl,--whole-archive -lrumpdev_hid -Wl,--no-whole-archive
+DPADD+= ${LIBHIDDIR}/librumpdev_hid.a
+DPADD+= ${ATF_C}
+
+LDADD+= -latf-c
+LDADD+= -lrump
+LDADD+= -lrumpuser
+LDADD+= -lpthread
+
+.include 



CVS commit: [nick-nhusb] src/sys/dev/usb

2016-01-08 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Fri Jan  8 13:42:55 UTC 2016

Modified Files:
src/sys/dev/usb [nick-nhusb]: ohci.c

Log Message:
Consistency with USBHIST_LOGN


To generate a diff of this commit:
cvs rdiff -u -r1.254.2.38 -r1.254.2.39 src/sys/dev/usb/ohci.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/dev/usb/ohci.c
diff -u src/sys/dev/usb/ohci.c:1.254.2.38 src/sys/dev/usb/ohci.c:1.254.2.39
--- src/sys/dev/usb/ohci.c:1.254.2.38	Mon Dec 28 15:46:28 2015
+++ src/sys/dev/usb/ohci.c	Fri Jan  8 13:42:55 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: ohci.c,v 1.254.2.38 2015/12/28 15:46:28 skrll Exp $	*/
+/*	$NetBSD: ohci.c,v 1.254.2.39 2016/01/08 13:42:55 skrll Exp $	*/
 
 /*
  * Copyright (c) 1998, 2004, 2005, 2012 The NetBSD Foundation, Inc.
@@ -41,7 +41,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: ohci.c,v 1.254.2.38 2015/12/28 15:46:28 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ohci.c,v 1.254.2.39 2016/01/08 13:42:55 skrll Exp $");
 
 #include "opt_usb.h"
 
@@ -947,7 +947,7 @@ ohci_init(ohci_softc_t *sc)
 
 #ifdef OHCI_DEBUG
 	DPRINTFN(15, "--- dump start ---", 0, 0, 0 ,0);
-	if (ohcidebug > 15) {
+	if (ohcidebug >= 15) {
 		for (i = 0; i < OHCI_NO_EDS; i++) {
 			DPRINTFN(15, "ed#%d ", i, 0, 0, 0);
 			ohci_dump_ed(sc, sc->sc_eds[i]);
@@ -1026,7 +1026,7 @@ ohci_init(ohci_softc_t *sc)
 		goto bad5;
 	}
 #ifdef OHCI_DEBUG
-	if (ohcidebug > 15)
+	if (ohcidebug >= 15)
 		ohci_dumpregs(sc);
 #endif
 
@@ -1087,7 +1087,7 @@ ohci_init(ohci_softc_t *sc)
 	}
 
 #ifdef OHCI_DEBUG
-	if (ohcidebug > 5)
+	if (ohcidebug >= 5)
 		ohci_dumpregs(sc);
 #endif
 
@@ -1488,7 +1488,7 @@ ohci_softintr(void *v)
 	DPRINTFN(10, "sdone=%p sidone=%p", sdone, sidone, 0, 0);
 	DPRINTFN(10, "--- dump start ---", 0, 0, 0, 0);
 #ifdef OHCI_DEBUG
-	if (ohcidebug > 10) {
+	if (ohcidebug >= 10) {
 		for (std = sdone; std; std = std->dnext)
 			ohci_dump_td(sc, std);
 	}
@@ -1563,7 +1563,7 @@ ohci_softintr(void *v)
 	}
 	DPRINTFN(10, "--- dump start ---", 0, 0, 0, 0);
 #ifdef OHCI_DEBUG
-	if (ohcidebug > 10) {
+	if (ohcidebug >= 10) {
 		DPRINTFN(10, "ITD done", 0, 0, 0, 0);
 		for (sitd = sidone; sitd; sitd = sitd->dnext)
 			ohci_dump_itd(sc, sitd);
@@ -2403,7 +2403,7 @@ ohci_abort_xfer(struct usbd_xfer *xfer, 
 #ifdef OHCI_DEBUG
 	DPRINTF("--- dump start ---", 0, 0, 0, 0);
 
-	if (ohcidebug > 1) {
+	if (ohcidebug >= 2) {
 		DPRINTF("sed:", 0, 0, 0, 0);
 		ohci_dump_ed(sc, sed);
 		ohci_dump_tds(sc, p);
@@ -2942,7 +2942,7 @@ ohci_device_ctrl_start(struct usbd_xfer 
 
 #ifdef OHCI_DEBUG
 	USBHIST_LOGN(ohcidebug, 5, "--- dump start ---", 0, 0, 0, 0);
-	if (ohcidebug > 5) {
+	if (ohcidebug >= 5) {
 		ohci_dump_ed(sc, sed);
 		ohci_dump_tds(sc, setup);
 	}
@@ -2963,7 +2963,7 @@ ohci_device_ctrl_start(struct usbd_xfer 
 
 #ifdef OHCI_DEBUG
 	DPRINTFN(20, "--- dump start ---", 0, 0, 0, 0);
-	if (ohcidebug > 20) {
+	if (ohcidebug >= 20) {
 		delay(1);
 		DPRINTFN(20, "status=%x", OREAD4(sc, OHCI_COMMAND_STATUS),
 		0, 0, 0);
@@ -3162,7 +3162,7 @@ ohci_device_bulk_start(struct usbd_xfer 
 
 #ifdef OHCI_DEBUG
 	DPRINTFN(5, "--- dump start ---", 0, 0, 0, 0);
-	if (ohcidebug > 5) {
+	if (ohcidebug >= 5) {
 		ohci_dump_ed(sc, sed);
 		ohci_dump_tds(sc, data);
 	}
@@ -3349,7 +3349,7 @@ ohci_device_intr_start(struct usbd_xfer 
 
 #ifdef OHCI_DEBUG
 	DPRINTFN(5, "--- dump start ---", 0, 0, 0, 0);
-	if (ohcidebug > 5) {
+	if (ohcidebug >= 5) {
 		ohci_dump_ed(sc, sed);
 		ohci_dump_tds(sc, data);
 	}
@@ -3707,7 +3707,7 @@ ohci_device_isoc_enter(struct usbd_xfer 
 	xfer->ux_status = USBD_IN_PROGRESS;
 
 #ifdef OHCI_DEBUG
-	if (ohcidebug > 5) {
+	if (ohcidebug >= 5) {
 		DPRINTF("frame=%d", O32TOH(sc->sc_hcca->hcca_frame_number),
 		0, 0, 0);
 		ohci_dump_itds(sc, xfer->ux_hcpriv);
@@ -3726,7 +3726,7 @@ ohci_device_isoc_enter(struct usbd_xfer 
 	mutex_exit(&sc->sc_lock);
 
 #ifdef OHCI_DEBUG
-	if (ohcidebug > 5) {
+	if (ohcidebug >= 5) {
 		delay(15);
 		DPRINTF("after frame=%d", O32TOH(sc->sc_hcca->hcca_frame_number),
 		0, 0, 0);



CVS commit: src/sys/dev/filemon

2016-01-08 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Fri Jan  8 08:57:14 UTC 2016

Modified Files:
src/sys/dev/filemon: filemon.c

Log Message:
Don't release the proc_lock mutex until we're finished using the stuff
that the mutex protects (ie, the proc list and the entry we found in
the list).


To generate a diff of this commit:
cvs rdiff -u -r1.25 -r1.26 src/sys/dev/filemon/filemon.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/dev/filemon/filemon.c
diff -u src/sys/dev/filemon/filemon.c:1.25 src/sys/dev/filemon/filemon.c:1.26
--- src/sys/dev/filemon/filemon.c:1.25	Fri Jan  8 07:16:13 2016
+++ src/sys/dev/filemon/filemon.c	Fri Jan  8 08:57:14 2016
@@ -1,4 +1,4 @@
-/*  $NetBSD: filemon.c,v 1.25 2016/01/08 07:16:13 dholland Exp $ */
+/*  $NetBSD: filemon.c,v 1.26 2016/01/08 08:57:14 pgoyette Exp $ */
 /*
  * Copyright (c) 2010, Juniper Networks, Inc.
  *
@@ -25,7 +25,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: filemon.c,v 1.25 2016/01/08 07:16:13 dholland Exp $");
+__KERNEL_RCSID(0, "$NetBSD: filemon.c,v 1.26 2016/01/08 08:57:14 pgoyette Exp $");
 
 #include 
 #include 
@@ -317,10 +317,10 @@ filemon_ioctl(struct file * fp, u_long c
 		/* Set the monitored process ID - if allowed. */
 		mutex_enter(proc_lock);
 		tp = proc_find(*((pid_t *) data));
-		mutex_exit(proc_lock);
 		if (tp == NULL ||
 		tp->p_emul != &emul_netbsd) {
 			error = ESRCH;
+			mutex_exit(proc_lock);
 			break;
 		}
 
@@ -330,6 +330,7 @@ filemon_ioctl(struct file * fp, u_long c
 		if (!error) {
 			filemon->fm_pid = tp->p_pid;
 		}
+		mutex_exit(proc_lock);
 		break;
 
 	default:



CVS commit: src/sys/netinet6

2016-01-08 Thread Ryota Ozaki
Module Name:src
Committed By:   ozaki-r
Date:   Fri Jan  8 08:50:07 UTC 2016

Modified Files:
src/sys/netinet6: nd6.c

Log Message:
Add missing RTF_LOCAL; sync with arp_setgate


To generate a diff of this commit:
cvs rdiff -u -r1.183 -r1.184 src/sys/netinet6/nd6.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/netinet6/nd6.c
diff -u src/sys/netinet6/nd6.c:1.183 src/sys/netinet6/nd6.c:1.184
--- src/sys/netinet6/nd6.c:1.183	Fri Dec 18 09:04:33 2015
+++ src/sys/netinet6/nd6.c	Fri Jan  8 08:50:07 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: nd6.c,v 1.183 2015/12/18 09:04:33 ozaki-r Exp $	*/
+/*	$NetBSD: nd6.c,v 1.184 2016/01/08 08:50:07 ozaki-r Exp $	*/
 /*	$KAME: nd6.c,v 1.279 2002/06/08 11:16:51 itojun Exp $	*/
 
 /*
@@ -31,7 +31,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nd6.c,v 1.183 2015/12/18 09:04:33 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nd6.c,v 1.184 2016/01/08 08:50:07 ozaki-r Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_net_mpsafe.h"
@@ -1370,7 +1370,7 @@ nd6_rtrequest(int req, struct rtentry *r
 		 *	   rt->rt_flags |= RTF_CLONING;
 		 */
 		if ((rt->rt_flags & RTF_CLONING) ||
-		((rt->rt_flags & RTF_LLINFO) && ln == NULL)) {
+		((rt->rt_flags & (RTF_LLINFO | RTF_LOCAL)) && ln == NULL)) {
 			union {
 struct sockaddr sa;
 struct sockaddr_dl sdl;



CVS commit: src/share/misc

2016-01-08 Thread John Nemeth
Module Name:src
Committed By:   jnemeth
Date:   Fri Jan  8 08:37:18 UTC 2016

Modified Files:
src/share/misc: acronyms acronyms.comp

Log Message:
PR/50630 - Nikolai Lifanov -- add some acronyms


To generate a diff of this commit:
cvs rdiff -u -r1.242 -r1.243 src/share/misc/acronyms
cvs rdiff -u -r1.155 -r1.156 src/share/misc/acronyms.comp

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

Modified files:

Index: src/share/misc/acronyms
diff -u src/share/misc/acronyms:1.242 src/share/misc/acronyms:1.243
--- src/share/misc/acronyms:1.242	Thu Dec  3 03:28:47 2015
+++ src/share/misc/acronyms	Fri Jan  8 08:37:18 2016
@@ -1,4 +1,4 @@
-$NetBSD: acronyms,v 1.242 2015/12/03 03:28:47 jnemeth Exp $
+$NetBSD: acronyms,v 1.243 2016/01/08 08:37:18 jnemeth Exp $
 10Q	thank you
 10X	thanks
 1337	elite ("leet")
@@ -184,6 +184,7 @@ GM	game master
 GMT	Greenwich mean time
 GMTA	great minds think alike
 GOK	God only knows
+GOP	Grand Old Party
 GOWI	get on with it
 GPS	global positioning system
 GR8	great
@@ -557,3 +558,4 @@ YMMV	your mileage may vary
 YOLO	you only live once
 YW	you're welcome
 YWSYLS	you win some, you lose some
+ZIP	zoning improvement plan

Index: src/share/misc/acronyms.comp
diff -u src/share/misc/acronyms.comp:1.155 src/share/misc/acronyms.comp:1.156
--- src/share/misc/acronyms.comp:1.155	Thu Dec  3 03:28:47 2015
+++ src/share/misc/acronyms.comp	Fri Jan  8 08:37:18 2016
@@ -1,4 +1,4 @@
-$NetBSD: acronyms.comp,v 1.155 2015/12/03 03:28:47 jnemeth Exp $
+$NetBSD: acronyms.comp,v 1.156 2016/01/08 08:37:18 jnemeth Exp $
 3WHS	three-way handshake
 8VSB	8-state vestigial side band modulation
 AA	anti-aliasing
@@ -482,6 +482,7 @@ GID	group identifier
 GIF	graphics interchange format
 GMCH	graphics and memory controller hub
 GNU	GNU's Not Unix
+GOP	graphics output protocol
 GOT	global offset table
 GPE	general purpose event
 GPF	general protection fault
@@ -1267,7 +1268,9 @@ UCS	uniform-cost search
 UDMA	ultra DMA
 UDO	ultra density optical
 UDP	User Datagram Protocol
+UEFI	unified extensible firmware interface
 UFS	Unix File System
+UGA	universal graphics adapter
 UI	unit interval
 UI	user interface
 UID	unique identifier