svn commit: r287135 - head/sys/arm64/arm64

2015-08-25 Thread Andrew Turner
Author: andrew
Date: Tue Aug 25 16:50:25 2015
New Revision: 287135
URL: https://svnweb.freebsd.org/changeset/base/287135

Log:
  Use nitems to count the number of items in a static array.
  
  Sponsored by: ABT Systems Ltd

Modified:
  head/sys/arm64/arm64/db_interface.c

Modified: head/sys/arm64/arm64/db_interface.c
==
--- head/sys/arm64/arm64/db_interface.c Tue Aug 25 16:49:10 2015
(r287134)
+++ head/sys/arm64/arm64/db_interface.c Tue Aug 25 16:50:25 2015
(r287135)
@@ -100,7 +100,7 @@ struct db_variable db_regs[] = {
{ sp, DB_OFFSET(tf_sp), db_frame },
 };
 
-struct db_variable *db_eregs = db_regs + sizeof(db_regs)/sizeof(db_regs[0]);
+struct db_variable *db_eregs = db_regs + nitems(db_regs);
 
 void
 db_show_mdpcpu(struct pcpu *pc)
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r287136 - head/sys/arm64/arm64

2015-08-25 Thread Andrew Turner
Author: andrew
Date: Tue Aug 25 17:02:28 2015
New Revision: 287136
URL: https://svnweb.freebsd.org/changeset/base/287136

Log:
  Use kdb_jmpbuf and setjmp to handle accessing invalid addresses in the
  debugger memory access functions. This allows us to correctly reenter into
  the debugger on failure.
  
  Sponsored by: ABT Systems Ltd

Modified:
  head/sys/arm64/arm64/db_interface.c

Modified: head/sys/arm64/arm64/db_interface.c
==
--- head/sys/arm64/arm64/db_interface.c Tue Aug 25 16:50:25 2015
(r287135)
+++ head/sys/arm64/arm64/db_interface.c Tue Aug 25 17:02:28 2015
(r287136)
@@ -44,6 +44,7 @@ __FBSDID($FreeBSD$);
 
 #include machine/cpu.h
 #include machine/pcb.h
+#include machine/stack.h
 #include machine/vmparam.h
 
 static int
@@ -107,37 +108,28 @@ db_show_mdpcpu(struct pcpu *pc)
 {
 }
 
-static int
-db_validate_address(vm_offset_t addr)
-{
-   struct proc *p = curproc;
-   struct pmap *pmap;
-
-   if (!p || !p-p_vmspace || !p-p_vmspace-vm_map.pmap ||
-   addr = VM_MAXUSER_ADDRESS)
-   pmap = pmap_kernel();
-   else
-   pmap = p-p_vmspace-vm_map.pmap;
-
-   return (pmap_extract(pmap, addr) != 0);
-}
-
 /*
  * Read bytes from kernel address space for debugger.
  */
 int
 db_read_bytes(vm_offset_t addr, size_t size, char *data)
 {
-   const char *src = (const char *)addr;
-
-   while (size--  0) {
-   if (db_validate_address((vm_offset_t)src)) {
-   db_printf(address %p is invalid\n, src);
-   return (-1);
-   }
-   *data++ = *src++;
+   jmp_buf jb;
+   void *prev_jb;
+   const char *src;
+   int ret;
+
+   prev_jb = kdb_jmpbuf(jb);
+   ret = setjmp(jb);
+
+   if (ret == 0) {
+   src = (const char *)addr;
+   while (size--  0)
+   *data++ = *src++;
}
-   return (0);
+   (void)kdb_jmpbuf(prev_jb);
+
+   return (ret);
 }
 
 /*
@@ -146,21 +138,25 @@ db_read_bytes(vm_offset_t addr, size_t s
 int
 db_write_bytes(vm_offset_t addr, size_t size, char *data)
 {
+   jmp_buf jb;
+   void *prev_jb;
char *dst;
+   int ret;
 
-   dst = (char *)addr;
-   while (size--  0) {
-   if (db_validate_address((vm_offset_t)dst)) {
-   db_printf(address %p is invalid\n, dst);
-   return (-1);
-   }
-   *dst++ = *data++;
+   prev_jb = kdb_jmpbuf(jb);
+   ret = setjmp(jb);
+   if (ret == 0) {
+   dst = (char *)addr;
+   while (size--  0)
+   *dst++ = *data++;
+
+   dsb(ish);
+
+   /* Clean D-cache and invalidate I-cache */
+   cpu_dcache_wb_range(addr, (vm_size_t)size);
+   cpu_icache_sync_range(addr, (vm_size_t)size);
}
-   dsb(ish);
-
-   /* Clean D-cache and invalidate I-cache */
-   cpu_dcache_wb_range(addr, (vm_size_t)size);
-   cpu_icache_sync_range(addr, (vm_size_t)size);
+   (void)kdb_jmpbuf(prev_jb);
 
-   return (0);
+   return (ret);
 }
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r287134 - head/sys/arm64/arm64

2015-08-25 Thread Andrew Turner
Author: andrew
Date: Tue Aug 25 16:49:10 2015
New Revision: 287134
URL: https://svnweb.freebsd.org/changeset/base/287134

Log:
  Call into kdb on a data abort when it's enabled. This is needed to
  correctly handle trying to access an invalid address in the debugger.
  
  While here document that the breakpoint handler is supposed to fall
  through to the following case.
  
  Sponsored by: ABT Systems Ltd

Modified:
  head/sys/arm64/arm64/trap.c

Modified: head/sys/arm64/arm64/trap.c
==
--- head/sys/arm64/arm64/trap.c Tue Aug 25 16:43:32 2015(r287133)
+++ head/sys/arm64/arm64/trap.c Tue Aug 25 16:49:10 2015(r287134)
@@ -155,6 +155,13 @@ data_abort(struct trapframe *frame, uint
uint64_t far;
int error, sig, ucode;
 
+#ifdef KDB
+   if (kdb_active) {
+   kdb_reenter();
+   return;
+   }
+#endif
+
td = curthread;
pcb = td-td_pcb;
 
@@ -221,6 +228,11 @@ data_abort(struct trapframe *frame, uint
frame-tf_elr = pcb-pcb_onfault;
return;
}
+#ifdef KDB
+   if (debugger_on_panic || kdb_active)
+   if (kdb_trap(ESR_ELx_EXCEPTION(esr), 0, frame))
+   return;
+#endif
panic(vm_fault failed: %lx, frame-tf_elr);
}
}
@@ -293,6 +305,7 @@ do_el1h_sync(struct trapframe *frame)
break;
}
 #endif
+   /* FALLTHROUGH */
case EXCP_WATCHPT_EL1:
case EXCP_SOFTSTP_EL1:
 #ifdef KDB
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r287137 - head/share/mk

2015-08-25 Thread Warner Losh
Author: imp
Date: Tue Aug 25 17:11:49 2015
New Revision: 287137
URL: https://svnweb.freebsd.org/changeset/base/287137

Log:
  Add softfp to MACHINE_CPU more often when we're compiling for soft
  float targets. It is added for booke on powerpc and all arm with hf in
  the string. Also add arm to all arm builds and armv6 to armv6 and
  newer builds.
  
  PR: 202641

Modified:
  head/share/mk/bsd.cpu.mk

Modified: head/share/mk/bsd.cpu.mk
==
--- head/share/mk/bsd.cpu.mkTue Aug 25 17:02:28 2015(r287136)
+++ head/share/mk/bsd.cpu.mkTue Aug 25 17:11:49 2015(r287137)
@@ -150,6 +150,7 @@ _CPUCFLAGS = -mcpu=ultrasparc3
 # unordered list to make it easy for client makefiles to test for the
 # presence of a CPU feature.
 
+## i386
 . if ${MACHINE_CPUARCH} == i386
 .  if ${CPUTYPE} == bdver4
 MACHINE_CPU = xop avx2 avx sse42 sse41 ssse3 sse4a sse3 sse2 sse mmx k6 k5 i586
@@ -218,6 +219,7 @@ MACHINE_CPU = 3dnow mmx
 MACHINE_CPU = mmx
 .  endif
 MACHINE_CPU += i486
+## amd64
 . elif ${MACHINE_CPUARCH} == amd64
 .  if ${CPUTYPE} == bdver4
 MACHINE_CPU = xop avx2 avx sse42 sse41 ssse3 sse4a sse3
@@ -253,10 +255,12 @@ MACHINE_CPU = ssse3 sse3
 MACHINE_CPU = sse3
 .  endif
 MACHINE_CPU += amd64 sse2 sse mmx
+## powerpc
 . elif ${MACHINE_ARCH} == powerpc
 .  if ${CPUTYPE} == e500
-MACHINE_CPU = booke
+MACHINE_CPU = booke softfp
 .  endif
+## sparc64
 . elif ${MACHINE_ARCH} == sparc64
 .  if ${CPUTYPE} == v9
 MACHINE_CPU = v9
@@ -272,11 +276,21 @@ MACHINE_CPU = v9 ultrasparc ultrasparc3
 CFLAGS += -G0
 .endif
 
+## arm
+.if ${MACHINE_CPUARCH} == arm
+MACHINE_CPU += arm
+. if ${MACHINE_ARCH:Marmv6*} != 
+MACHINE_CPU += armv6
+. endif
+. if ${MACHINE_ARCH:M*hf} == 
+MACHINE_CPU += softfp
+. endif
 .if ${MACHINE_ARCH} == armv6
 # Needs to be CFLAGS not _CPUCFLAGS because it's needed for the ABI
 # not a nice optimization.
 CFLAGS += -mfloat-abi=softfp
 .endif
+.endif
 
 # NB: COPTFLAGS is handled in /usr/src/sys/conf/kern.pre.mk
 
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r287133 - head/sys/arm64/arm64

2015-08-25 Thread Andrew Turner
Author: andrew
Date: Tue Aug 25 16:43:32 2015
New Revision: 287133
URL: https://svnweb.freebsd.org/changeset/base/287133

Log:
  Correctly update the address to write to after storing the stack pointer
  in the kernels setjmp function.
  
  Sponsored by: ABT Systems Ltd

Modified:
  head/sys/arm64/arm64/support.S

Modified: head/sys/arm64/arm64/support.S
==
--- head/sys/arm64/arm64/support.S  Tue Aug 25 15:34:28 2015
(r287132)
+++ head/sys/arm64/arm64/support.S  Tue Aug 25 16:43:32 2015
(r287133)
@@ -221,7 +221,7 @@ END(suswintr)
 ENTRY(setjmp)
/* Store the stack pointer */
mov x8, sp
-   str x8, [x0]
+   str x8, [x0], #8
 
/* Store the general purpose registers and lr */
stp x19, x20, [x0], #16
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r287138 - in head: sys/dev/ioat tools/tools/ioat

2015-08-25 Thread Conrad E. Meyer
Author: cem
Date: Tue Aug 25 17:39:03 2015
New Revision: 287138
URL: https://svnweb.freebsd.org/changeset/base/287138

Log:
  ioat(4): Minor style cleanups
  
  Suggested by: ngie
  Reviewed by:  jimharris
  Approved by:  markj (mentor)
  Sponsored by: EMC / Isilon Storage Division
  Differential Revision:https://reviews.freebsd.org/D3481

Modified:
  head/sys/dev/ioat/ioat.c
  head/tools/tools/ioat/Makefile

Modified: head/sys/dev/ioat/ioat.c
==
--- head/sys/dev/ioat/ioat.cTue Aug 25 17:11:49 2015(r287137)
+++ head/sys/dev/ioat/ioat.cTue Aug 25 17:39:03 2015(r287138)
@@ -798,7 +798,7 @@ resize_ring(struct ioat_softc *ioat, int
new_idx = (ioat-tail + i)  (new_size - 1);
 
ring[new_idx] = ioat_alloc_ring_entry(ioat);
-   if (!ring[new_idx]) {
+   if (ring[new_idx] == NULL) {
while (i--) {
new_idx2 = (ioat-tail + i) 
(new_size - 1);

Modified: head/tools/tools/ioat/Makefile
==
--- head/tools/tools/ioat/Makefile  Tue Aug 25 17:11:49 2015
(r287137)
+++ head/tools/tools/ioat/Makefile  Tue Aug 25 17:39:03 2015
(r287138)
@@ -1,7 +1,6 @@
 # $FreeBSD$
 
 PROG=  ioatcontrol
-SRCS=  ioatcontrol.c
 MAN=   ioatcontrol.8
 CFLAGS+=   -I${.CURDIR:H:H:H}/sys/dev/ioat
 WARNS?=6
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r287129 - in head: usr.bin/ypwhich usr.sbin/ypserv usr.sbin/ypserv/common

2015-08-25 Thread Marcelo Araujo
Author: araujo
Date: Tue Aug 25 15:27:32 2015
New Revision: 287129
URL: https://svnweb.freebsd.org/changeset/base/287129

Log:
  Sync ypwhich(1) code with the OpenBSD version that is more modern.
  Update the BSD LICENSE and remove the 3rd clause.
  
  Reviewed by:  rodrigc, kib, bapt
  Approved by:  bapt (mentor)
  Obtained from:OpenBSD
  Differential Revision:D3249

Added:
  head/usr.sbin/ypserv/common/
  head/usr.sbin/ypserv/common/yplib_host.c   (contents, props changed)
  head/usr.sbin/ypserv/common/yplib_host.h   (contents, props changed)
Modified:
  head/usr.bin/ypwhich/Makefile
  head/usr.bin/ypwhich/ypwhich.c
  head/usr.sbin/ypserv/Makefile

Modified: head/usr.bin/ypwhich/Makefile
==
--- head/usr.bin/ypwhich/Makefile   Tue Aug 25 15:14:50 2015
(r287128)
+++ head/usr.bin/ypwhich/Makefile   Tue Aug 25 15:27:32 2015
(r287129)
@@ -1,7 +1,13 @@
 #  from: @(#)Makefile  5.8 (Berkeley) 7/28/90
 # $FreeBSD$
 
+YPSERV=${.CURDIR}/../../usr.sbin/ypserv/common
+.PATH: ${YPSERV}
+
 PROG=  ypwhich
+SRCS=  yplib_host.c ypwhich.c
+
+CFLAGS+=   -I${YPSERV} -I.
 
 WARNS?=2
 

Modified: head/usr.bin/ypwhich/ypwhich.c
==
--- head/usr.bin/ypwhich/ypwhich.c  Tue Aug 25 15:14:50 2015
(r287128)
+++ head/usr.bin/ypwhich/ypwhich.c  Tue Aug 25 15:27:32 2015
(r287129)
@@ -1,5 +1,8 @@
+/* $OpenBSD: ypwhich.c,v 1.23 2015/02/08 23:40:35 deraadt Exp $*/
+/* $NetBSD: ypwhich.c,v 1.6 1996/05/13 02:43:48 thorpej Exp $  */
+
 /*
- * Copyright (c) 1992/3 Theo de Raadt dera...@fsa.ca
+ * Copyright (c) 1992, 1993 Theo de Raadt dera...@theos.com
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -10,9 +13,6 @@
  * 2. Redistributions in binary form must reproduce the above copyright
  *notice, this list of conditions and the following disclaimer in the
  *documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote
- *products derived from this software without specific prior written
- *permission.
  *
  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
  * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
@@ -34,13 +34,7 @@ __FBSDID($FreeBSD$);
 #include sys/types.h
 #include sys/socket.h
 
-#include rpc/rpc.h
-#include rpc/xdr.h
-#include rpcsvc/yp_prot.h
-#include rpcsvc/ypclnt.h
-
 #include netinet/in.h
-
 #include arpa/inet.h
 
 #include ctype.h
@@ -51,13 +45,12 @@ __FBSDID($FreeBSD$);
 #include string.h
 #include unistd.h
 
-#define ERR_USAGE  1   /* bad arguments - display 'usage' message */
-#define ERR_NOSUCHHOST 2   /* no such host */
-#define ERR_NOBINDING  3   /* error from ypbind -- domain not bound */
-#define ERR_NOYPBIND   4   /* ypbind not running */
-#define ERR_NOMASTER   5   /* could not find master server */
+#include rpc/rpc.h
+#include rpc/xdr.h
+#include rpcsvc/yp.h
+#include rpcsvc/ypclnt.h
 
-extern bool_t xdr_domainname();
+#include yplib_host.h
 
 static const struct ypalias {
char *alias, *name;
@@ -77,10 +70,11 @@ static const struct ypalias {
 static void
 usage(void)
 {
-   fprintf(stderr, %s\n%s\n,
-   usage: ypwhich [-d domain] [[-t] -m [mname] | host],
-  ypwhich -x);
-   exit(ERR_USAGE);
+   fprintf(stderr,
+   usage: ypwhich [-t] [-d domain] [[-h] host]\n
+  ypwhich [-t] [-d domain] [-h host] -m [mname]\n
+  ypwhich -x\n);
+   exit(1);
 }
 
 
@@ -88,26 +82,28 @@ usage(void)
  * Like yp_bind except can query a specific host
  */
 static int
-bind_host(char *dom, struct sockaddr_in *lsin)
+bind_host(char *dom, struct sockaddr_in *sin)
 {
struct hostent *hent = NULL;
struct ypbind_resp ypbr;
+   struct in_addr ss_addr;
struct timeval tv;
CLIENT *client;
int sock, r;
-   struct in_addr ss_addr;
 
sock = RPC_ANYSOCK;
tv.tv_sec = 15;
tv.tv_usec = 0;
-   client = clntudp_create(lsin, YPBINDPROG, YPBINDVERS, tv, sock);
+   client = clntudp_create(sin, YPBINDPROG, YPBINDVERS, tv, sock);
+
if (client == NULL) {
-   warnx(can't clntudp_create: %s, yperr_string(YPERR_YPBIND));
+   warnx(host is not bound to a ypmaster);
return (YPERR_YPBIND);
}
 
tv.tv_sec = 5;
tv.tv_usec = 0;
+
r = clnt_call(client, YPBINDPROC_DOMAIN,
(xdrproc_t)xdr_domainname, dom,
(xdrproc_t)xdr_ypbind_resp, ypbr, tv);
@@ -118,37 +114,41 @@ bind_host(char *dom, struct sockaddr_in 
} else {
if (ypbr.ypbind_status != YPBIND_SUCC_VAL) {
warnx(can't yp_bind: reason: %s,
-  

svn commit: r287131 - head/sbin/newfs

2015-08-25 Thread Marcelo Araujo
Author: araujo
Date: Tue Aug 25 15:33:09 2015
New Revision: 287131
URL: https://svnweb.freebsd.org/changeset/base/287131

Log:
  Code cleanup unused-but-set-variable spotted by gcc.
  
  Approved by:  bapt (mentor)
  Differential Revision:D3475

Modified:
  head/sbin/newfs/newfs.c

Modified: head/sbin/newfs/newfs.c
==
--- head/sbin/newfs/newfs.c Tue Aug 25 15:32:08 2015(r287130)
+++ head/sbin/newfs/newfs.c Tue Aug 25 15:33:09 2015(r287131)
@@ -130,7 +130,6 @@ main(int argc, char *argv[])
 {
struct partition *pp;
struct disklabel *lp;
-   struct partition oldpartition;
struct stat st;
char *cp, *special;
intmax_t reserved;
@@ -362,7 +361,6 @@ main(int argc, char *argv[])
pp = lp-d_partitions[RAW_PART];
else
pp = lp-d_partitions[*cp - 'a'];
-   oldpartition = *pp;
if (pp-p_size == 0)
errx(1, %s: `%c' partition is unavailable,
special, *cp);
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


For you

2015-08-25 Thread Sergey Tyshchenko
for you



 

 

 

 







Hello, My name is Sergey, I propose you cooperation. We 
are a creative company in the development and creation of unique products for 
decoration - to design buildings IDENTIKA.PRO. We''re specialized on decoration 
of shops, petrol station, cafe, fast food restaurants, and retail franchises.We 
are interested at long-term cooperation with you. We propose a good environment 
to work with partners.Examples of our work http 
:http://identika.pro/counter_link/counter.php?click=presentation_enI propose 
You to become our partner in your area.Let us know about your decision



 

 

 

 











 

 

 

 











 

 

 

 







 Examples of our work http 
:http://identika.pro/counter_link/counter.php?click=presentation_en



 

 

 

 







Sergey TyshchenkoCEO | IDENTIKA.PROViber: +380505566965 
| WhatsApp: +380505566965Skype: t.sergey.ms.tyshche...@identika.pro | 
www.identika.pro03040 | Golosiivskyi Ave. 70 | office 502 | Kiev 



 

 

 

 
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org

svn commit: r287132 - in head/sys/dev/xen: blkback netfront xenstore

2015-08-25 Thread Marcelo Araujo
Author: araujo
Date: Tue Aug 25 15:34:28 2015
New Revision: 287132
URL: https://svnweb.freebsd.org/changeset/base/287132

Log:
  Code cleanup unused-but-set-variable spotted by gcc.
  
  Reviewed by:  royger
  Approved by:  bapt (mentor)
  Differential Revision:D3476

Modified:
  head/sys/dev/xen/blkback/blkback.c
  head/sys/dev/xen/netfront/netfront.c
  head/sys/dev/xen/xenstore/xenstore.c

Modified: head/sys/dev/xen/blkback/blkback.c
==
--- head/sys/dev/xen/blkback/blkback.c  Tue Aug 25 15:33:09 2015
(r287131)
+++ head/sys/dev/xen/blkback/blkback.c  Tue Aug 25 15:34:28 2015
(r287132)
@@ -2245,7 +2245,6 @@ xbb_dispatch_file(struct xbb_softc *xbb,
struct xbb_file_data *file_data;
u_int seg_idx;
u_int nseg;
-   off_t sectors_sent;
struct uioxuio;
struct xbb_sg*xbb_sg;
struct iovec *xiovec;
@@ -2256,7 +2255,6 @@ xbb_dispatch_file(struct xbb_softc *xbb,
int   error;
 
file_data = xbb-backend.file;
-   sectors_sent = 0;
error = 0;
bzero(xuio, sizeof(xuio));
 

Modified: head/sys/dev/xen/netfront/netfront.c
==
--- head/sys/dev/xen/netfront/netfront.cTue Aug 25 15:33:09 2015
(r287131)
+++ head/sys/dev/xen/netfront/netfront.cTue Aug 25 15:34:28 2015
(r287132)
@@ -600,9 +600,6 @@ setup_device(device_t dev, struct netfro
netif_tx_sring_t *txs;
netif_rx_sring_t *rxs;
int error;
-   struct ifnet *ifp;
-   
-   ifp = info-xn_ifp;
 
info-tx_ring_ref = GRANT_REF_INVALID;
info-rx_ring_ref = GRANT_REF_INVALID;

Modified: head/sys/dev/xen/xenstore/xenstore.c
==
--- head/sys/dev/xen/xenstore/xenstore.cTue Aug 25 15:33:09 2015
(r287131)
+++ head/sys/dev/xen/xenstore/xenstore.cTue Aug 25 15:34:28 2015
(r287132)
@@ -1427,7 +1427,6 @@ xs_rm_tree(struct xs_transaction xbt, co
char *cur_path;
const char **dir;
int error;
-   int empty;
 
 retry:
root_path_sbuf = xs_join(base, node);
@@ -1444,7 +1443,6 @@ retry:
xbt = local_xbt;
}
 
-   empty = 0;
while (1) {
u_int count;
u_int i;
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r287126 - in stable/10/sys: amd64/amd64 conf dev/vt/hw/efifb dev/vt/hw/vga i386/i386 x86/include x86/x86

2015-08-25 Thread Marcel Moolenaar
Author: marcel
Date: Tue Aug 25 14:39:40 2015
New Revision: 287126
URL: https://svnweb.freebsd.org/changeset/base/287126

Log:
  MFC r286667  r286723
  
  Better support memory mapped console devices, such as VGA and EFI
  frame buffers and memory mapped UARTs.
  
  PR:   191564, 194952, 202276

Added:
  stable/10/sys/x86/x86/bus_machdep.c
 - copied unchanged from r286667, head/sys/x86/x86/bus_machdep.c
Modified:
  stable/10/sys/amd64/amd64/machdep.c
  stable/10/sys/amd64/amd64/pmap.c
  stable/10/sys/conf/files.amd64
  stable/10/sys/conf/files.i386
  stable/10/sys/dev/vt/hw/efifb/efifb.c
  stable/10/sys/dev/vt/hw/vga/vt_vga.c
  stable/10/sys/dev/vt/hw/vga/vt_vga_reg.h
  stable/10/sys/i386/i386/machdep.c
  stable/10/sys/i386/i386/pmap.c
  stable/10/sys/x86/include/bus.h
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/amd64/amd64/machdep.c
==
--- stable/10/sys/amd64/amd64/machdep.c Tue Aug 25 09:16:09 2015
(r287125)
+++ stable/10/sys/amd64/amd64/machdep.c Tue Aug 25 14:39:40 2015
(r287126)
@@ -1931,38 +1931,6 @@ hammer_time(u_int64_t modulep, u_int64_t
MODINFO_METADATA | MODINFOMD_EFI_MAP) != NULL)
vty_set_preferred(VTY_VT);
 
-   /*
-* Initialize the console before we print anything out.
-*/
-   cninit();
-
-#ifdef DEV_ISA
-#ifdef DEV_ATPIC
-   elcr_probe();
-   atpic_startup();
-#else
-   /* Reset and mask the atpics and leave them shut down. */
-   atpic_reset();
-
-   /*
-* Point the ICU spurious interrupt vectors at the APIC spurious
-* interrupt handler.
-*/
-   setidt(IDT_IO_INTS + 7, IDTVEC(spuriousint), SDT_SYSIGT, SEL_KPL, 0);
-   setidt(IDT_IO_INTS + 15, IDTVEC(spuriousint), SDT_SYSIGT, SEL_KPL, 0);
-#endif
-#else
-#error have you forgotten the isa device?;
-#endif
-
-   kdb_init();
-
-#ifdef KDB
-   if (boothowto  RB_KDB)
-   kdb_enter(KDB_WHY_BOOTFLAGS,
-   Boot flags requested debugger);
-#endif
-
identify_cpu(); /* Final stage of CPU initialization */
initializecpu();/* Initialize CPU registers */
initializecpucache();
@@ -2000,6 +1968,35 @@ hammer_time(u_int64_t modulep, u_int64_t
 
/* now running on new page tables, configured,and u/iom is accessible */
 
+   cninit();
+
+#ifdef DEV_ISA
+#ifdef DEV_ATPIC
+   elcr_probe();
+   atpic_startup();
+#else
+   /* Reset and mask the atpics and leave them shut down. */
+   atpic_reset();
+
+   /*
+* Point the ICU spurious interrupt vectors at the APIC spurious
+* interrupt handler.
+*/
+   setidt(IDT_IO_INTS + 7, IDTVEC(spuriousint), SDT_SYSIGT, SEL_KPL, 0);
+   setidt(IDT_IO_INTS + 15, IDTVEC(spuriousint), SDT_SYSIGT, SEL_KPL, 0);
+#endif
+#else
+#error have you forgotten the isa device?;
+#endif
+
+   kdb_init();
+
+#ifdef KDB
+   if (boothowto  RB_KDB)
+   kdb_enter(KDB_WHY_BOOTFLAGS,
+   Boot flags requested debugger);
+#endif
+
msgbufinit(msgbufp, msgbufsize);
fpuinit();
 

Modified: stable/10/sys/amd64/amd64/pmap.c
==
--- stable/10/sys/amd64/amd64/pmap.cTue Aug 25 09:16:09 2015
(r287125)
+++ stable/10/sys/amd64/amd64/pmap.cTue Aug 25 14:39:40 2015
(r287126)
@@ -360,6 +360,18 @@ static u_int64_t   DMPDphys;   /* phys addr 
 static u_int64_t   DMPDPphys;  /* phys addr of direct mapped level 3 */
 static int ndmpdpphys; /* number of DMPDPphys pages */
 
+/*
+ * pmap_mapdev support pre initialization (i.e. console)
+ */
+#definePMAP_PREINIT_MAPPING_COUNT  8
+static struct pmap_preinit_mapping {
+   vm_paddr_t  pa;
+   vm_offset_t va;
+   vm_size_t   sz;
+   int mode;
+} pmap_preinit_mapping[PMAP_PREINIT_MAPPING_COUNT];
+static int pmap_initialized;
+
 static struct rwlock_padalign pvh_global_lock;
 
 /*
@@ -1014,6 +1026,7 @@ pmap_page_init(vm_page_t m)
 void
 pmap_init(void)
 {
+   struct pmap_preinit_mapping *ppim;
vm_page_t mpte;
vm_size_t s;
int i, pv_npg;
@@ -1085,6 +1098,22 @@ pmap_init(void)
mtx_init(cpage_lock, cpage, NULL, MTX_DEF);
cpage_a = kva_alloc(PAGE_SIZE);
cpage_b = kva_alloc(PAGE_SIZE);
+
+   pmap_initialized = 1;
+   for (i = 0; i  PMAP_PREINIT_MAPPING_COUNT; i++) {
+   ppim = pmap_preinit_mapping + i;
+   if (ppim-va == 0)
+   continue;
+   /* Make the direct map consistent */
+   if (ppim-pa  dmaplimit  ppim-pa + ppim-sz  dmaplimit) {
+   (void)pmap_change_attr(PHYS_TO_DMAP(ppim-pa),
+   ppim-sz, ppim-mode);
+   }
+   if (!bootverbose)
+ 

svn commit: r287127 - head/sys/arm/arm

2015-08-25 Thread Zbigniew Bodek
Author: zbb
Date: Tue Aug 25 14:49:11 2015
New Revision: 287127
URL: https://svnweb.freebsd.org/changeset/base/287127

Log:
  Leave hypervisor mode upon startup on ARMv7
  
  If ARMv7 boots in HYP mode, switch to SVC32.
  
  Reviewed by:   ian
  Submitted by:  Wojciech Macek w...@semihalf.com
 Jakub Palider  j...@semihalf.com
  Obtained from: Semihalf
  Sponsored by:  Annapurna Labs
  Differential Revision: https://reviews.freebsd.org/D1810

Modified:
  head/sys/arm/arm/locore-v6.S

Modified: head/sys/arm/arm/locore-v6.S
==
--- head/sys/arm/arm/locore-v6.STue Aug 25 14:39:40 2015
(r287126)
+++ head/sys/arm/arm/locore-v6.STue Aug 25 14:49:11 2015
(r287127)
@@ -45,12 +45,47 @@ __FBSDID($FreeBSD$);
 #definePTE1_SIZE   L1_S_SIZE
 #endif
 
+#if __ARM_ARCH = 7
+#if defined(__ARM_ARCH_7VE__) || defined(__clang__)
+/*
+ * HYP support is in bintuils = 2.21 and gcc = 4.9 defines __ARM_ARCH_7VE__
+ * when enabled. llvm = 3.6 supports it too.
+ */
+.arch_extension virt
+#defineMSR_ELR_HYP(regnum) msr elr_hyp, lr
+#defineERETeret
+#else
+#define MSR_ELR_HYP(regnum) .word (0xe12ef300 | regnum)
+#define ERET .word 0xe160006e
+#endif
+#endif /* __ARM_ARCH = 7 */
+
 /* A small statically-allocated stack used only during initarm() and AP 
startup. */
 #defineINIT_ARM_STACK_SIZE 2048
 
.text
.align  2
 
+#if __ARM_ARCH = 7
+#define LEAVE_HYP  \
+   /* Leave HYP mode */;\
+   mrs r0, cpsr;\
+   and r0, r0, #(PSR_MODE) /* Mode is in the low 5 bits of CPSR */ 
;\
+   teq r0, #(PSR_HYP32_MODE)   /* Hyp Mode? */ ;\
+   bne 1f  ;\
+   /* Ensure that IRQ, FIQ and Aborts will be disabled after eret */;\
+   mrs r0, spsr;\
+   orr r0, r0, #(PSR_I | PSR_F | PSR_A);\
+   msr spsr, r0;\
+   /* Exit hypervisor mode */  ;\
+   adr lr, 1f  ;\
+   MSR_ELR_HYP(14) ;\
+   ERET;\
+1:
+#else
+#define LEAVE_HYP
+#endif /* __ARM_ARCH = 7 */
+
 /*
  * On entry for FreeBSD boot ABI:
  * r0 - metadata pointer or 0 (boothowto on AT91's boot2)
@@ -76,6 +111,8 @@ ASENTRY_NP(_start)
mov r10, r2 /* Save meta data */
mov r11, r3 /* Future expansion */
 
+   LEAVE_HYP
+
/*
 * Check whether data cache is enabled.  If it is, then we know
 * current tags are valid (not power-on garbage values) and there
@@ -401,6 +438,8 @@ ASENTRY_NP(mpentry)
/* Make sure interrupts are disabled. */
cpsid   ifa
 
+   LEAVE_HYP
+
/* Setup core, disable all caches. */
mrc CP15_SCTLR(r0)
bic r0, #CPU_CONTROL_MMU_ENABLE
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r287130 - head/sbin/ipfw

2015-08-25 Thread Marcelo Araujo
Author: araujo
Date: Tue Aug 25 15:32:08 2015
New Revision: 287130
URL: https://svnweb.freebsd.org/changeset/base/287130

Log:
  Code cleanup unused-but-set-variable spotted by gcc.
  
  Reviewed by:  melifaro
  Approved by:  bapt (mentor)
  Differential Revision:D3473

Modified:
  head/sbin/ipfw/ipfw2.c
  head/sbin/ipfw/nat.c
  head/sbin/ipfw/tables.c

Modified: head/sbin/ipfw/ipfw2.c
==
--- head/sbin/ipfw/ipfw2.c  Tue Aug 25 15:27:32 2015(r287129)
+++ head/sbin/ipfw/ipfw2.c  Tue Aug 25 15:32:08 2015(r287130)
@@ -1308,14 +1308,12 @@ print_icmptypes(struct buf_pr *bp, ipfw_
 static void
 print_dscp(struct buf_pr *bp, ipfw_insn_u32 *cmd)
 {
-   int i, c;
+   int i = 0;
uint32_t *v;
char sep= ' ';
const char *code;
 
bprintf(bp,  dscp);
-   i = 0;
-   c = 0;
v = cmd-d;
while (i  64) {
if (*v  (1  i)) {

Modified: head/sbin/ipfw/nat.c
==
--- head/sbin/ipfw/nat.cTue Aug 25 15:27:32 2015(r287129)
+++ head/sbin/ipfw/nat.cTue Aug 25 15:32:08 2015(r287130)
@@ -87,7 +87,7 @@ set_addr_dynamic(const char *ifn, struct
struct ifa_msghdr *ifam;
struct sockaddr_dl *sdl;
struct sockaddr_in *sin;
-   int ifIndex, ifMTU;
+   int ifIndex;
 
mib[0] = CTL_NET;
mib[1] = PF_ROUTE;
@@ -126,7 +126,6 @@ set_addr_dynamic(const char *ifn, struct
if (strlen(ifn) == sdl-sdl_nlen 
strncmp(ifn, sdl-sdl_data, sdl-sdl_nlen) == 0) {
ifIndex = ifm-ifm_index;
-   ifMTU = ifm-ifm_data.ifi_mtu;
break;
}
}
@@ -635,14 +634,13 @@ nat_show_log(struct nat44_cfg_nat *n, vo
 static void
 nat_show_cfg(struct nat44_cfg_nat *n, void *arg)
 {
-   int i, cnt, flag, off;
+   int i, cnt, off;
struct nat44_cfg_redir *t;
struct nat44_cfg_spool *s;
caddr_t buf;
struct protoent *p;
 
buf = (caddr_t)n;
-   flag = 1;
off = sizeof(*n);
printf(ipfw nat %s config, n-name);
if (strlen(n-if_name) != 0)

Modified: head/sbin/ipfw/tables.c
==
--- head/sbin/ipfw/tables.c Tue Aug 25 15:27:32 2015(r287129)
+++ head/sbin/ipfw/tables.c Tue Aug 25 15:32:08 2015(r287130)
@@ -387,11 +387,9 @@ table_create(ipfw_obj_header *oh, int ac
ipfw_xtable_info xi;
int error, tcmd, val;
uint32_t fset, fclear;
-   size_t sz;
char *e, *p;
char tbuf[128];
 
-   sz = sizeof(tbuf);
memset(xi, 0, sizeof(xi));
 
while (ac  0) {
@@ -494,10 +492,7 @@ table_modify(ipfw_obj_header *oh, int ac
 {
ipfw_xtable_info xi;
int tcmd;
-   size_t sz;
-   char tbuf[128];
 
-   sz = sizeof(tbuf);
memset(xi, 0, sizeof(xi));
 
while (ac  0) {
@@ -1449,14 +1444,13 @@ tentry_fill_value(ipfw_obj_header *oh, i
 uint8_t type, uint32_t vmask)
 {
struct addrinfo hints, *res;
-   uint32_t a4, flag, val, vm;
+   uint32_t a4, flag, val;
ipfw_table_value *v;
uint32_t i;
int dval;
char *comma, *e, *etype, *n, *p;
 
v = tent-v.value;
-   vm = vmask;
 
/* Compat layer: keep old behavior for legacy value types */
if (vmask == IPFW_VTYPE_LEGACY) {
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r287128 - in stable/10/sys: amd64/amd64 dev/vt dev/vt/hw/efifb dev/vt/hw/fb

2015-08-25 Thread Marcel Moolenaar
Author: marcel
Date: Tue Aug 25 15:14:50 2015
New Revision: 287128
URL: https://svnweb.freebsd.org/changeset/base/287128

Log:
  MFC r286808, r286809, r286867, r286868
  
  -   Improve support for Macs that have a stride not equal to the
  horizonal resolution (width).
  -   Support frame buffers that are larger than the default screen
  size.
  -   Support large frame buffers: add 24 more page table pages we
  allocate on boot-up.
  
  PR:   193745

Modified:
  stable/10/sys/amd64/amd64/pmap.c
  stable/10/sys/dev/vt/hw/efifb/efifb.c
  stable/10/sys/dev/vt/hw/fb/vt_fb.c
  stable/10/sys/dev/vt/vt.h
  stable/10/sys/dev/vt/vt_core.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/amd64/amd64/pmap.c
==
--- stable/10/sys/amd64/amd64/pmap.cTue Aug 25 14:49:11 2015
(r287127)
+++ stable/10/sys/amd64/amd64/pmap.cTue Aug 25 15:14:50 2015
(r287128)
@@ -701,8 +701,14 @@ nkpt_init(vm_paddr_t addr)
 * pmap_growkernel() will need to allocate page table pages to map
 * the entire 512GB of KVA space which is an unnecessary tax on
 * physical memory.
+*
+* Secondly, device memory mapped as part of setting up the low-
+* level console(s) is taken from KVA, starting at virtual_avail.
+* This is because cninit() is called after pmap_bootstrap() but
+* before vm_init() and pmap_init(). 20MB for a frame buffer is
+* not uncommon.
 */
-   pt_pages += 8;  /* 16MB additional slop for kernel modules */
+   pt_pages += 32; /* 64MB additional slop. */
 #endif
nkpt = pt_pages;
 }

Modified: stable/10/sys/dev/vt/hw/efifb/efifb.c
==
--- stable/10/sys/dev/vt/hw/efifb/efifb.c   Tue Aug 25 14:49:11 2015
(r287127)
+++ stable/10/sys/dev/vt/hw/efifb/efifb.c   Tue Aug 25 15:14:50 2015
(r287128)
@@ -98,7 +98,6 @@ vt_efifb_probe(struct vt_device *vd)
 static int
 vt_efifb_init(struct vt_device *vd)
 {
-   int depth, d;
struct fb_info  *info;
struct efi_fb   *efifb;
caddr_t kmdp;
@@ -118,16 +117,13 @@ vt_efifb_init(struct vt_device *vd)
info-fb_height = efifb-fb_height;
info-fb_width = efifb-fb_width;
 
-   depth = fls(efifb-fb_mask_red);
-   d = fls(efifb-fb_mask_green);
-   depth = d  depth ? d : depth;
-   d = fls(efifb-fb_mask_blue);
-   depth = d  depth ? d : depth;
-   d = fls(efifb-fb_mask_reserved);
-   depth = d  depth ? d : depth;
-   info-fb_depth = depth;
+   info-fb_depth = fls(efifb-fb_mask_red | efifb-fb_mask_green |
+   efifb-fb_mask_blue | efifb-fb_mask_reserved);
+   /* Round to a multiple of the bits in a byte. */
+   info-fb_bpp = (info-fb_depth + NBBY - 1)  ~(NBBY - 1);
 
-   info-fb_stride = efifb-fb_stride * (depth / 8);
+   /* Stride in bytes, not pixels */
+   info-fb_stride = efifb-fb_stride * (info-fb_bpp / NBBY);
 
vt_generate_cons_palette(info-fb_cmap, COLOR_FORMAT_RGB,
efifb-fb_mask_red, ffs(efifb-fb_mask_red) - 1,
@@ -139,16 +135,6 @@ vt_efifb_init(struct vt_device *vd)
info-fb_vbase = (intptr_t)pmap_mapdev_attr(info-fb_pbase,
info-fb_size, VM_MEMATTR_WRITE_COMBINING);
 
-   /* Get pixel storage size. */
-   info-fb_bpp = info-fb_stride / info-fb_width * 8;
-
-   /*
-* Early FB driver work with static window buffer, so reduce to minimal
-* size, buffer or screen.
-*/
-   info-fb_width = MIN(info-fb_width, VT_FB_DEFAULT_WIDTH);
-   info-fb_height = MIN(info-fb_height, VT_FB_DEFAULT_HEIGHT);
-
vt_fb_init(vd);
 
return (CN_INTERNAL);

Modified: stable/10/sys/dev/vt/hw/fb/vt_fb.c
==
--- stable/10/sys/dev/vt/hw/fb/vt_fb.c  Tue Aug 25 14:49:11 2015
(r287127)
+++ stable/10/sys/dev/vt/hw/fb/vt_fb.c  Tue Aug 25 15:14:50 2015
(r287128)
@@ -280,6 +280,7 @@ vt_fb_bitblt_bitmap(struct vt_device *vd
if (mask != NULL  (mask[byte]  bit) == 0)
continue;
o = (y + yi) * info-fb_stride + (x + xi) * bpp;
+   o += vd-vd_transpose;
cc = pattern[byte]  bit ? fgc : bgc;
 
switch(bpp) {
@@ -397,11 +398,16 @@ int
 vt_fb_init(struct vt_device *vd)
 {
struct fb_info *info;
+   u_int margin;
int err;
 
info = vd-vd_softc;
-   vd-vd_height = info-fb_height;
-   vd-vd_width = info-fb_width;
+   vd-vd_height = MIN(VT_FB_DEFAULT_HEIGHT, info-fb_height);
+   margin = (info-fb_height - vd-vd_height)  1;
+   vd-vd_transpose = margin * info-fb_stride;
+   vd-vd_width = 

svn commit: r287155 - head/sys/dev/filemon

2015-08-25 Thread Bryan Drewery
Author: bdrewery
Date: Wed Aug 26 03:44:48 2015
New Revision: 287155
URL: https://svnweb.freebsd.org/changeset/base/287155

Log:
  Fix filemon locking races.
  
  Convert filemon_lock and struct filemon* lock to sx(9), rather than a
  self-rolled reader-writer lock, and hold it for the entire time needed.
  
  At least filemon_lock_write() was not checking for active readers when
  it would successfully return with the write lock held.  This led to
  a race with reading entries from filemon_inuse as they were removed.  This
  could be seen with QUEUE_MACRO_DEBUG enabled, causing -1 to be read as an
  entry rather than a valid struct filemon*.
  
  Fixing filemon_lock_write() to check readers was insufficient to fix the
  races.
  
  sx(9) was used as the lock could be held while taking proctree_lock and 
sleeping
  in fo_write.
  
  Sponsored by: EMC / Isilon Storage Division
  MFC after:2 weeks

Modified:
  head/sys/dev/filemon/filemon.c
  head/sys/dev/filemon/filemon_lock.c

Modified: head/sys/dev/filemon/filemon.c
==
--- head/sys/dev/filemon/filemon.c  Wed Aug 26 03:37:33 2015
(r287154)
+++ head/sys/dev/filemon/filemon.c  Wed Aug 26 03:44:48 2015
(r287155)
@@ -1,6 +1,7 @@
 /*-
  * Copyright (c) 2011, David E. O'Brien.
  * Copyright (c) 2009-2011, Juniper Networks, Inc.
+ * Copyright (c) 2015, EMC Corp.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -39,12 +40,14 @@ __FBSDID($FreeBSD$);
 #include sys/fcntl.h
 #include sys/ioccom.h
 #include sys/kernel.h
+#include sys/lock.h
 #include sys/malloc.h
 #include sys/module.h
 #include sys/mutex.h
 #include sys/poll.h
 #include sys/proc.h
 #include sys/queue.h
+#include sys/sx.h
 #include sys/syscall.h
 #include sys/sysent.h
 #include sys/sysproto.h
@@ -85,12 +88,8 @@ MALLOC_DEFINE(M_FILEMON, filemon, Fil
 
 struct filemon {
TAILQ_ENTRY(filemon) link;  /* Link into the in-use list. */
-   struct mtx  mtx;/* Lock mutex for this filemon. */
-   struct cv   cv; /* Lock condition variable for this
-  filemon. */
+   struct sx   lock;   /* Lock mutex for this filemon. */
struct file *fp;/* Output file pointer. */
-   struct thread   *locker;/* Ptr to the thread locking this
-  filemon. */
pid_t   pid;/* The process ID being monitored. */
charfname1[MAXPATHLEN]; /* Temporary filename buffer. */
charfname2[MAXPATHLEN]; /* Temporary filename buffer. */
@@ -99,11 +98,7 @@ struct filemon {
 
 static TAILQ_HEAD(, filemon) filemons_inuse = 
TAILQ_HEAD_INITIALIZER(filemons_inuse);
 static TAILQ_HEAD(, filemon) filemons_free = 
TAILQ_HEAD_INITIALIZER(filemons_free);
-static int n_readers = 0;
-static struct mtx access_mtx;
-static struct cv access_cv;
-static struct thread *access_owner = NULL;
-static struct thread *access_requester = NULL;
+static struct sx access_lock;
 
 static struct cdev *filemon_dev;
 
@@ -203,8 +198,7 @@ filemon_open(struct cdev *dev, int oflag
 
filemon-fp = NULL;
 
-   mtx_init(filemon-mtx, filemon, filemon, MTX_DEF);
-   cv_init(filemon-cv, filemon);
+   sx_init(filemon-lock, filemon);
}
 
filemon-pid = curproc-p_pid;
@@ -234,8 +228,7 @@ filemon_close(struct cdev *dev __unused,
 static void
 filemon_load(void *dummy __unused)
 {
-   mtx_init(access_mtx, filemon, filemon, MTX_DEF);
-   cv_init(access_cv, filemon);
+   sx_init(access_lock, filemons_inuse);
 
/* Install the syscall wrappers. */
filemon_wrapper_install();
@@ -270,14 +263,12 @@ filemon_unload(void)
filemon_lock_write();
while ((filemon = TAILQ_FIRST(filemons_free)) != NULL) {
TAILQ_REMOVE(filemons_free, filemon, link);
-   mtx_destroy(filemon-mtx);
-   cv_destroy(filemon-cv);
+   sx_destroy(filemon-lock);
free(filemon, M_FILEMON);
}
filemon_unlock_write();
 
-   mtx_destroy(access_mtx);
-   cv_destroy(access_cv);
+   sx_destroy(access_lock);
}
 
return (error);

Modified: head/sys/dev/filemon/filemon_lock.c
==
--- head/sys/dev/filemon/filemon_lock.c Wed Aug 26 03:37:33 2015
(r287154)
+++ head/sys/dev/filemon/filemon_lock.c Wed Aug 26 03:44:48 2015
(r287155)
@@ -1,5 +1,6 @@
 /*-
  * Copyright (c) 2009-2011, Juniper Networks, Inc.
+ * Copyright (c) 2015, EMC Corp.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -27,96 +28,44 

svn commit: r287151 - head/sys/dev/filemon

2015-08-25 Thread Bryan Drewery
Author: bdrewery
Date: Wed Aug 26 03:32:47 2015
New Revision: 287151
URL: https://svnweb.freebsd.org/changeset/base/287151

Log:
  Move common locking for filemon_inuse and struct filemon* to 
filemon_pid_check().
  
  This keeps the lock for the filemon_inuse list held only while reading
  the list.
  
  Sponsored by: EMC / Isilon Storage Division
  MFC after:2 weeks

Modified:
  head/sys/dev/filemon/filemon_wrapper.c

Modified: head/sys/dev/filemon/filemon_wrapper.c
==
--- head/sys/dev/filemon/filemon_wrapper.c  Wed Aug 26 02:47:11 2015
(r287150)
+++ head/sys/dev/filemon/filemon_wrapper.c  Wed Aug 26 03:32:47 2015
(r287151)
@@ -1,6 +1,7 @@
 /*-
  * Copyright (c) 2011, David E. O'Brien.
  * Copyright (c) 2009-2011, Juniper Networks, Inc.
+ * Copyright (c) 2015, EMC Corp.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -86,17 +87,21 @@ filemon_pid_check(struct proc *p)
 {
struct filemon *filemon;
 
+   filemon_lock_read();
sx_slock(proctree_lock);
while (p != initproc) {
TAILQ_FOREACH(filemon, filemons_inuse, link) {
if (p-p_pid == filemon-pid) {
sx_sunlock(proctree_lock);
+   filemon_filemon_lock(filemon);
+   filemon_unlock_read();
return (filemon);
}
}
p = proc_realparent(p);
}
sx_sunlock(proctree_lock);
+   filemon_unlock_read();
return (NULL);
 }
 
@@ -138,13 +143,7 @@ filemon_wrapper_chdir(struct thread *td,
struct filemon *filemon;
 
if ((ret = sys_chdir(td, uap)) == 0) {
-   /* Grab a read lock on the filemon inuse list. */
-   filemon_lock_read();
-
if ((filemon = filemon_pid_check(curproc)) != NULL) {
-   /* Lock the found filemon structure. */
-   filemon_filemon_lock(filemon);
-
copyinstr(uap-path, filemon-fname1,
sizeof(filemon-fname1), done);
 
@@ -157,9 +156,6 @@ filemon_wrapper_chdir(struct thread *td,
/* Unlock the found filemon structure. */
filemon_filemon_unlock(filemon);
}
-
-   /* Release the read lock. */
-   filemon_unlock_read();
}
 
return (ret);
@@ -177,13 +173,7 @@ filemon_wrapper_execve(struct thread *td
copyinstr(uap-fname, fname, sizeof(fname), done);
 
if ((ret = sys_execve(td, uap)) == 0) {
-   /* Grab a read lock on the filemon inuse list. */
-   filemon_lock_read();
-
if ((filemon = filemon_pid_check(curproc)) != NULL) {
-   /* Lock the found filemon structure. */
-   filemon_filemon_lock(filemon);
-
len = snprintf(filemon-msgbufr,
sizeof(filemon-msgbufr), E %d %s\n,
curproc-p_pid, fname);
@@ -193,9 +183,6 @@ filemon_wrapper_execve(struct thread *td
/* Unlock the found filemon structure. */
filemon_filemon_unlock(filemon);
}
-
-   /* Release the read lock. */
-   filemon_unlock_read();
}
 
return (ret);
@@ -215,13 +202,7 @@ filemon_wrapper_freebsd32_execve(struct 
copyinstr(uap-fname, fname, sizeof(fname), done);
 
if ((ret = freebsd32_execve(td, uap)) == 0) {
-   /* Grab a read lock on the filemon inuse list. */
-   filemon_lock_read();
-
if ((filemon = filemon_pid_check(curproc)) != NULL) {
-   /* Lock the found filemon structure. */
-   filemon_filemon_lock(filemon);
-
len = snprintf(filemon-msgbufr,
sizeof(filemon-msgbufr), E %d %s\n,
curproc-p_pid, fname);
@@ -231,9 +212,6 @@ filemon_wrapper_freebsd32_execve(struct 
/* Unlock the found filemon structure. */
filemon_filemon_unlock(filemon);
}
-
-   /* Release the read lock. */
-   filemon_unlock_read();
}
 
return (ret);
@@ -248,13 +226,7 @@ filemon_wrapper_fork(struct thread *td, 
struct filemon *filemon;
 
if ((ret = sys_fork(td, uap)) == 0) {
-   /* Grab a read lock on the filemon inuse list. */
-   filemon_lock_read();
-
if ((filemon = filemon_pid_check(curproc)) != NULL) {
-   /* Lock the found filemon structure. */
-   filemon_filemon_lock(filemon);
-
len = 

svn commit: r287154 - head/sys/powerpc/mpc85xx

2015-08-25 Thread Justin Hibbits
Author: jhibbits
Date: Wed Aug 26 03:37:33 2015
New Revision: 287154
URL: https://svnweb.freebsd.org/changeset/base/287154

Log:
  The Freescale qoriq PCIe controller is compatible with mpc85xx.
  
  Add the compatible checks.
  
  Obtained from:Semihalf (partial)
  Sponsored by: Alex Perez/Inertial Computing

Modified:
  head/sys/powerpc/mpc85xx/pci_mpc85xx.c

Modified: head/sys/powerpc/mpc85xx/pci_mpc85xx.c
==
--- head/sys/powerpc/mpc85xx/pci_mpc85xx.c  Wed Aug 26 03:37:18 2015
(r287153)
+++ head/sys/powerpc/mpc85xx/pci_mpc85xx.c  Wed Aug 26 03:37:33 2015
(r287154)
@@ -182,7 +182,10 @@ fsl_pcib_probe(device_t dev)
 
if (!(ofw_bus_is_compatible(dev, fsl,mpc8540-pci) ||
ofw_bus_is_compatible(dev, fsl,mpc8540-pcie) ||
-   ofw_bus_is_compatible(dev, fsl,mpc8548-pcie)))
+   ofw_bus_is_compatible(dev, fsl,mpc8548-pcie) ||
+   ofw_bus_is_compatible(dev, fsl,p5020-pcie) ||
+   ofw_bus_is_compatible(dev, fsl,qoriq-pcie-v2.2) ||
+   ofw_bus_is_compatible(dev, fsl,qoriq-pcie)))
return (ENXIO);
 
device_set_desc(dev, Freescale Integrated PCI/PCI-E Controller);
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r287150 - head/gnu/usr.bin/binutils

2015-08-25 Thread Warner Losh
Author: imp
Date: Wed Aug 26 02:47:11 2015
New Revision: 287150
URL: https://svnweb.freebsd.org/changeset/base/287150

Log:
  Drop a .WAIT into the list. Items later in the list than this depend
  on items earlier. Enable parallel builds.

Modified:
  head/gnu/usr.bin/binutils/Makefile

Modified: head/gnu/usr.bin/binutils/Makefile
==
--- head/gnu/usr.bin/binutils/Makefile  Wed Aug 26 01:41:55 2015
(r287149)
+++ head/gnu/usr.bin/binutils/Makefile  Wed Aug 26 02:47:11 2015
(r287150)
@@ -7,6 +7,7 @@ SUBDIR= doc\
libbfd \
libopcodes \
libbinutils \
+   .WAIT \
as \
ld \
${_objcopy} \
@@ -16,4 +17,9 @@ SUBDIR=   doc\
 _objcopy=  objcopy
 .endif
 
+
+.if !make(install)
+SUBDIR_PARALLEL=
+.endif
+
 .include bsd.subdir.mk
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r287152 - head/sys/dev/filemon

2015-08-25 Thread Bryan Drewery
Author: bdrewery
Date: Wed Aug 26 03:33:34 2015
New Revision: 287152
URL: https://svnweb.freebsd.org/changeset/base/287152

Log:
  Remove unneeded inuse list locking in filemon_comment().
  
  Sponsored by: EMC / Isilon Storage Division
  MFC after:2 weeks

Modified:
  head/sys/dev/filemon/filemon_wrapper.c

Modified: head/sys/dev/filemon/filemon_wrapper.c
==
--- head/sys/dev/filemon/filemon_wrapper.c  Wed Aug 26 03:32:47 2015
(r287151)
+++ head/sys/dev/filemon/filemon_wrapper.c  Wed Aug 26 03:33:34 2015
(r287152)
@@ -114,9 +114,6 @@ filemon_comment(struct filemon *filemon)
/* Load timestamp before locking.  Less accurate but less contention. */
getmicrotime(now);
 
-   /* Grab a read lock on the filemon inuse list. */
-   filemon_lock_read();
-
/* Lock the found filemon structure. */
filemon_filemon_lock(filemon);
 
@@ -129,9 +126,6 @@ filemon_comment(struct filemon *filemon)
 
/* Unlock the found filemon structure. */
filemon_filemon_unlock(filemon);
-
-   /* Release the read lock. */
-   filemon_unlock_read();
 }
 
 static int
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r287153 - head/sys/dev/filemon

2015-08-25 Thread Bryan Drewery
Author: bdrewery
Date: Wed Aug 26 03:37:18 2015
New Revision: 287153
URL: https://svnweb.freebsd.org/changeset/base/287153

Log:
  Avoid taking proctree_lock and searching parents in wrappers if not needed.
  
  This should help the case where filemon is loaded but not in use.
  
  Sponsored by: EMC / Isilon Storage Division
  MFC after:2 weeks

Modified:
  head/sys/dev/filemon/filemon_wrapper.c

Modified: head/sys/dev/filemon/filemon_wrapper.c
==
--- head/sys/dev/filemon/filemon_wrapper.c  Wed Aug 26 03:33:34 2015
(r287152)
+++ head/sys/dev/filemon/filemon_wrapper.c  Wed Aug 26 03:37:18 2015
(r287153)
@@ -88,6 +88,10 @@ filemon_pid_check(struct proc *p)
struct filemon *filemon;
 
filemon_lock_read();
+   if (TAILQ_EMPTY(filemons_inuse)) {
+   filemon_unlock_read();
+   return (NULL);
+   }
sx_slock(proctree_lock);
while (p != initproc) {
TAILQ_FOREACH(filemon, filemons_inuse, link) {
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r287124 - head/sys/netinet6

2015-08-25 Thread Adrian Chadd
Author: adrian
Date: Tue Aug 25 06:12:59 2015
New Revision: 287124
URL: https://svnweb.freebsd.org/changeset/base/287124

Log:
  Call the new RSS hash calculation function to correctly calculate a hash
  based on the configured requirements for the protocol.
  
  Tested:
  
  * UDP IPv6 TX/RX testing, w/ RSS enabled, 82599 ixgbe(4) hardware

Modified:
  head/sys/netinet6/udp6_usrreq.c

Modified: head/sys/netinet6/udp6_usrreq.c
==
--- head/sys/netinet6/udp6_usrreq.c Tue Aug 25 05:31:00 2015
(r287123)
+++ head/sys/netinet6/udp6_usrreq.c Tue Aug 25 06:12:59 2015
(r287124)
@@ -840,19 +840,36 @@ udp6_output(struct inpcb *inp, struct mb
m-m_pkthdr.csum_data = offsetof(struct udphdr, uh_sum);
}
 
-   /*
-* XXX for now assume UDP is 2-tuple.
-* Later on this may become configurable as 4-tuple;
-* we should support that.
-*
-* XXX .. and we should likely cache this in the inpcb.
-*/
 #ifdef RSS
-   m-m_pkthdr.flowid = rss_hash_ip6_2tuple(faddr, laddr);
-   M_HASHTYPE_SET(m, M_HASHTYPE_RSS_IPV6);
+   {
+   uint32_t hash_val, hash_type;
+   uint8_t pr;
+
+   pr = inp-inp_socket-so_proto-pr_protocol;
+   /*
+* Calculate an appropriate RSS hash for UDP and
+* UDP Lite.
+*
+* The called function will take care of figuring out
+* whether a 2-tuple or 4-tuple hash is required based
+* on the currently configured scheme.
+*
+* Later later on connected socket values should be
+* cached in the inpcb and reused, rather than 
constantly
+* re-calculating it.
+*
+* UDP Lite is a different protocol number and will
+* likely end up being hashed as a 2-tuple until
+* RSS / NICs grow UDP Lite protocol awareness.
+*/
+   if (rss_proto_software_hash_v6(faddr, laddr, fport,
+   inp-inp_lport, pr, hash_val, hash_type) == 0) {
+   m-m_pkthdr.flowid = hash_val;
+   M_HASHTYPE_SET(m, hash_type);
+   }
+   }
 #endif
flags = 0;
-
 #ifdef RSS
/*
 * Don't override with the inp cached flowid.
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r287139 - in stable: 10/sys/x86/include 9/sys/x86/include

2015-08-25 Thread Jung-uk Kim
Author: jkim
Date: Tue Aug 25 19:18:38 2015
New Revision: 287139
URL: https://svnweb.freebsd.org/changeset/base/287139

Log:
  MFC:  r286265, r286293, r286328
  
  Always define __va_list for amd64 and restore pre-r232261 behavior for i386.

Modified:
  stable/9/sys/x86/include/_types.h
Directory Properties:
  stable/9/sys/   (props changed)

Changes in other areas also in this revision:
Modified:
  stable/10/sys/x86/include/_types.h
Directory Properties:
  stable/10/   (props changed)

Modified: stable/9/sys/x86/include/_types.h
==
--- stable/9/sys/x86/include/_types.h   Tue Aug 25 17:39:03 2015
(r287138)
+++ stable/9/sys/x86/include/_types.h   Tue Aug 25 19:18:38 2015
(r287139)
@@ -148,8 +148,16 @@ typedef__uint64_t  __vm_pindex_t;
  */
 #ifdef __GNUCLIKE_BUILTIN_VARARGS
 typedef__builtin_va_list   __va_list;  /* internally known to 
gcc */
-#elif defined(lint)
-typedefchar *  __va_list;  /* pretend */
+#else
+#ifdef __LP64__
+struct __s_va_list {
+   __uint32_t  _pad1[2];   /* gp_offset, fp_offset */
+   __uint64_t  _pad2[2];   /* overflow_arg_area, reg_save_area */
+};
+typedefstruct __s_va_list  __va_list;
+#else
+typedefchar *  __va_list;
+#endif
 #endif
 #if defined(__GNUC_VA_LIST_COMPATIBILITY)  !defined(__GNUC_VA_LIST) \
  !defined(__NO_GNUC_VA_LIST)
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r287139 - in stable: 10/sys/x86/include 9/sys/x86/include

2015-08-25 Thread Jung-uk Kim
Author: jkim
Date: Tue Aug 25 19:18:38 2015
New Revision: 287139
URL: https://svnweb.freebsd.org/changeset/base/287139

Log:
  MFC:  r286265, r286293, r286328
  
  Always define __va_list for amd64 and restore pre-r232261 behavior for i386.

Modified:
  stable/10/sys/x86/include/_types.h
Directory Properties:
  stable/10/   (props changed)

Changes in other areas also in this revision:
Modified:
  stable/9/sys/x86/include/_types.h
Directory Properties:
  stable/9/sys/   (props changed)

Modified: stable/10/sys/x86/include/_types.h
==
--- stable/10/sys/x86/include/_types.h  Tue Aug 25 17:39:03 2015
(r287138)
+++ stable/10/sys/x86/include/_types.h  Tue Aug 25 19:18:38 2015
(r287139)
@@ -152,8 +152,16 @@ typedefint ___wchar_t;
  */
 #ifdef __GNUCLIKE_BUILTIN_VARARGS
 typedef__builtin_va_list   __va_list;  /* internally known to 
gcc */
-#elif defined(lint)
-typedefchar *  __va_list;  /* pretend */
+#else
+#ifdef __LP64__
+struct __s_va_list {
+   __uint32_t  _pad1[2];   /* gp_offset, fp_offset */
+   __uint64_t  _pad2[2];   /* overflow_arg_area, reg_save_area */
+};
+typedefstruct __s_va_list  __va_list;
+#else
+typedefchar *  __va_list;
+#endif
 #endif
 #if defined(__GNUC_VA_LIST_COMPATIBILITY)  !defined(__GNUC_VA_LIST) \
  !defined(__NO_GNUC_VA_LIST)
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r287125 - head/lib/libc/locale

2015-08-25 Thread Ed Schouten
Author: ed
Date: Tue Aug 25 09:16:09 2015
New Revision: 287125
URL: https://svnweb.freebsd.org/changeset/base/287125

Log:
  Make UTF-8 parsing and generation more strict.
  
  - in mbrtowc() we need to disallow codepoints above 0x10.
  - In wcrtomb() we need to disallow codepoints between 0xd800 and 0xdfff.
  
  Reviewed by:  bapt
  Differential Revision:https://reviews.freebsd.org/D3399

Modified:
  head/lib/libc/locale/utf8.c

Modified: head/lib/libc/locale/utf8.c
==
--- head/lib/libc/locale/utf8.c Tue Aug 25 06:12:59 2015(r287124)
+++ head/lib/libc/locale/utf8.c Tue Aug 25 09:16:09 2015(r287125)
@@ -191,7 +191,7 @@ _UTF8_mbrtowc(wchar_t * __restrict pwc, 
errno = EILSEQ;
return ((size_t)-1);
}
-   if (wch = 0xd800  wch = 0xdfff) {
+   if ((wch = 0xd800  wch = 0xdfff) || wch  0x10) {
/*
 * Malformed input; invalid code points.
 */
@@ -318,6 +318,10 @@ _UTF8_wcrtomb(char * __restrict s, wchar
lead = 0xc0;
len = 2;
} else if ((wc  ~0x) == 0) {
+   if (wc = 0xd800  wc = 0xdfff) {
+   errno = EILSEQ;
+   return ((size_t)-1);
+   }
lead = 0xe0;
len = 3;
} else if (wc = 0  wc = 0x10) {
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


Re: svn commit: r287016 - in stable/10: . share/man/man4 sys/arm/mv sys/boot/forth sys/conf sys/dev/ata sys/dev/ata/chipsets sys/modules/ata/atapci/chipsets sys/modules/ata/atapci/chipsets/ataadaptec

2015-08-25 Thread Gleb Smirnoff
On Sat, Aug 22, 2015 at 07:32:48AM +, Alexander Motin wrote:
A Author: mav
A Date: Sat Aug 22 07:32:47 2015
A New Revision: 287016
A URL: https://svnweb.freebsd.org/changeset/base/287016
A 
A Log:
A   MFC r280451:
A   Remove from legacy ata(4) driver support for hardware, supported by newer
A   and more functional drivers ahci(4), siis(4) and mvs(4).
A   
A   This removes about 3400 lines of code, unused since FreeBSD 9.0 release.

What is the reason to break POLA in stable branch? 

Don't get me wrong. I'm all for removing stale code from head. But is it
worth to hurt someone who runs custom built kernel with 'device ad' and
tracks stable/10?


-- 
Totus tuus, Glebius.
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r287148 - in head/bin/sh: . tests/builtins

2015-08-25 Thread Jilles Tjoelker
Author: jilles
Date: Tue Aug 25 21:55:15 2015
New Revision: 287148
URL: https://svnweb.freebsd.org/changeset/base/287148

Log:
  sh: Fix out of bounds read when there is no ] after a [:class:].
  
  The initial check for a matching ] was incorrect if a ] may be consumed by a
  [:class:]. The subsequent loop assumed that there must be a ].
  
  Remove the initial check and make the loop cope with a missing ].
  
  Found with afl-fuzz.
  
  MFC after:1 week

Added:
  head/bin/sh/tests/builtins/case20.0   (contents, props changed)
Modified:
  head/bin/sh/expand.c
  head/bin/sh/tests/builtins/Makefile

Modified: head/bin/sh/expand.c
==
--- head/bin/sh/expand.cTue Aug 25 20:49:05 2015(r287147)
+++ head/bin/sh/expand.cTue Aug 25 21:55:15 2015(r287148)
@@ -1464,21 +1464,11 @@ patmatch(const char *pattern, const char
bt_q = q;
break;
case '[': {
-   const char *endp;
+   const char *savep, *saveq;
int invert, found;
wchar_t chr;
 
-   endp = p;
-   if (*endp == '!' || *endp == '^')
-   endp++;
-   do {
-   while (*endp == CTLQUOTEMARK)
-   endp++;
-   if (*endp == 0)
-   goto dft;   /* no matching 
] */
-   if (*endp == CTLESC)
-   endp++;
-   } while (*++endp != ']');
+   savep = p, saveq = q;
invert = 0;
if (*p == '!' || *p == '^') {
invert++;
@@ -1497,6 +1487,11 @@ patmatch(const char *pattern, const char
chr = (unsigned char)*q++;
c = *p++;
do {
+   if (c == '\0') {
+   p = savep, q = saveq;
+   c = '[';
+   goto dft;
+   }
if (c == CTLQUOTEMARK)
continue;
if (c == '['  *p == ':') {

Modified: head/bin/sh/tests/builtins/Makefile
==
--- head/bin/sh/tests/builtins/Makefile Tue Aug 25 20:49:05 2015
(r287147)
+++ head/bin/sh/tests/builtins/Makefile Tue Aug 25 21:55:15 2015
(r287148)
@@ -39,6 +39,7 @@ FILES+=   case16.0
 FILES+=case17.0
 FILES+=case18.0
 FILES+=case19.0
+FILES+=case20.0
 FILES+=cd1.0
 FILES+=cd2.0
 FILES+=cd3.0

Added: head/bin/sh/tests/builtins/case20.0
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/bin/sh/tests/builtins/case20.0 Tue Aug 25 21:55:15 2015
(r287148)
@@ -0,0 +1,9 @@
+# $FreeBSD$
+
+# Shells do not agree about what this pattern should match, but it is
+# certain that it must not crash and the missing close bracket must not
+# be simply ignored.
+
+case B in
+[[:alpha:]) echo bad ;;
+esac
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r287144 - in stable: 10/crypto/openssh 9/crypto/openssh

2015-08-25 Thread Xin LI
Author: delphij
Date: Tue Aug 25 20:48:44 2015
New Revision: 287144
URL: https://svnweb.freebsd.org/changeset/base/287144

Log:
  MFC: Fix OpenSSH multiple vulnerabilities.
  
  Security: FreeBSD-SA-15:22.openssh

Modified:
  stable/10/crypto/openssh/monitor.c
  stable/10/crypto/openssh/monitor_wrap.c
  stable/10/crypto/openssh/mux.c

Changes in other areas also in this revision:
Modified:
  stable/9/crypto/openssh/monitor.c
  stable/9/crypto/openssh/monitor_wrap.c
  stable/9/crypto/openssh/mux.c

Modified: stable/10/crypto/openssh/monitor.c
==
--- stable/10/crypto/openssh/monitor.c  Tue Aug 25 20:48:37 2015
(r287143)
+++ stable/10/crypto/openssh/monitor.c  Tue Aug 25 20:48:44 2015
(r287144)
@@ -1027,9 +1027,7 @@ extern KbdintDevice sshpam_device;
 int
 mm_answer_pam_init_ctx(int sock, Buffer *m)
 {
-
debug3(%s, __func__);
-   authctxt-user = buffer_get_string(m, NULL);
sshpam_ctxt = (sshpam_device.init_ctx)(authctxt);
sshpam_authok = NULL;
buffer_clear(m);
@@ -,14 +1109,16 @@ mm_answer_pam_respond(int sock, Buffer *
 int
 mm_answer_pam_free_ctx(int sock, Buffer *m)
 {
+   int r = sshpam_authok != NULL  sshpam_authok == sshpam_ctxt;
 
debug3(%s, __func__);
(sshpam_device.free_ctx)(sshpam_ctxt);
+   sshpam_ctxt = sshpam_authok = NULL;
buffer_clear(m);
mm_request_send(sock, MONITOR_ANS_PAM_FREE_CTX, m);
auth_method = keyboard-interactive;
auth_submethod = pam;
-   return (sshpam_authok == sshpam_ctxt);
+   return r;
 }
 #endif
 

Modified: stable/10/crypto/openssh/monitor_wrap.c
==
--- stable/10/crypto/openssh/monitor_wrap.c Tue Aug 25 20:48:37 2015
(r287143)
+++ stable/10/crypto/openssh/monitor_wrap.c Tue Aug 25 20:48:44 2015
(r287144)
@@ -820,7 +820,6 @@ mm_sshpam_init_ctx(Authctxt *authctxt)
 
debug3(%s, __func__);
buffer_init(m);
-   buffer_put_cstring(m, authctxt-user);
mm_request_send(pmonitor-m_recvfd, MONITOR_REQ_PAM_INIT_CTX, m);
debug3(%s: waiting for MONITOR_ANS_PAM_INIT_CTX, __func__);
mm_request_receive_expect(pmonitor-m_recvfd, MONITOR_ANS_PAM_INIT_CTX, 
m);

Modified: stable/10/crypto/openssh/mux.c
==
--- stable/10/crypto/openssh/mux.c  Tue Aug 25 20:48:37 2015
(r287143)
+++ stable/10/crypto/openssh/mux.c  Tue Aug 25 20:48:44 2015
(r287144)
@@ -633,7 +633,8 @@ process_mux_open_fwd(u_int rid, Channel 
u_int lport, cport;
int i, ret = 0, freefwd = 1;
 
-   fwd.listen_host = fwd.connect_host = NULL;
+   memset(fwd, 0, sizeof(fwd));
+
if (buffer_get_int_ret(ftype, m) != 0 ||
(fwd.listen_host = buffer_get_string_ret(m, NULL)) == NULL ||
buffer_get_int_ret(lport, m) != 0 ||
@@ -783,7 +784,8 @@ process_mux_close_fwd(u_int rid, Channel
int i, listen_port, ret = 0;
u_int lport, cport;
 
-   fwd.listen_host = fwd.connect_host = NULL;
+   memset(fwd, 0, sizeof(fwd));
+
if (buffer_get_int_ret(ftype, m) != 0 ||
(fwd.listen_host = buffer_get_string_ret(m, NULL)) == NULL ||
buffer_get_int_ret(lport, m) != 0 ||
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r287145 - in releng/10.2: . crypto/openssh sys/conf usr.sbin/pkg

2015-08-25 Thread Xin LI
Author: delphij
Date: Tue Aug 25 20:48:51 2015
New Revision: 287145
URL: https://svnweb.freebsd.org/changeset/base/287145

Log:
  Fix OpenSSH multiple vulnerabilities. [SA-15:22]
  
  Fix insufficient check of unsupported pkg(7) signature methods.
  [EN-15:15]
  
  Approved by:  so

Modified:
  releng/10.2/UPDATING
  releng/10.2/crypto/openssh/monitor.c
  releng/10.2/crypto/openssh/monitor_wrap.c
  releng/10.2/crypto/openssh/mux.c
  releng/10.2/sys/conf/newvers.sh
  releng/10.2/usr.sbin/pkg/pkg.c

Modified: releng/10.2/UPDATING
==
--- releng/10.2/UPDATINGTue Aug 25 20:48:44 2015(r287144)
+++ releng/10.2/UPDATINGTue Aug 25 20:48:51 2015(r287145)
@@ -16,6 +16,13 @@ from older versions of FreeBSD, try WITH
 stable/10, and then rebuild without this option. The bootstrap process from
 older version of current is a bit fragile.
 
+20150825:  p2  FreeBSD-SA-15:22.openssh
+   FreeBSD-EN-15:15.pkg
+   Fix OpenSSH multiple vulnerabilities. [SA-15:22]
+
+   Fix insufficient check of unsupported pkg(7) signature methods.
+   [EN-15:15]
+
 20150818:  p1  FreeBSD-SA-15:20.expat
FreeBSD-EN-15:11.toolchain
FreeBSD-EN-15:12.netstat

Modified: releng/10.2/crypto/openssh/monitor.c
==
--- releng/10.2/crypto/openssh/monitor.cTue Aug 25 20:48:44 2015
(r287144)
+++ releng/10.2/crypto/openssh/monitor.cTue Aug 25 20:48:51 2015
(r287145)
@@ -1027,9 +1027,7 @@ extern KbdintDevice sshpam_device;
 int
 mm_answer_pam_init_ctx(int sock, Buffer *m)
 {
-
debug3(%s, __func__);
-   authctxt-user = buffer_get_string(m, NULL);
sshpam_ctxt = (sshpam_device.init_ctx)(authctxt);
sshpam_authok = NULL;
buffer_clear(m);
@@ -,14 +1109,16 @@ mm_answer_pam_respond(int sock, Buffer *
 int
 mm_answer_pam_free_ctx(int sock, Buffer *m)
 {
+   int r = sshpam_authok != NULL  sshpam_authok == sshpam_ctxt;
 
debug3(%s, __func__);
(sshpam_device.free_ctx)(sshpam_ctxt);
+   sshpam_ctxt = sshpam_authok = NULL;
buffer_clear(m);
mm_request_send(sock, MONITOR_ANS_PAM_FREE_CTX, m);
auth_method = keyboard-interactive;
auth_submethod = pam;
-   return (sshpam_authok == sshpam_ctxt);
+   return r;
 }
 #endif
 

Modified: releng/10.2/crypto/openssh/monitor_wrap.c
==
--- releng/10.2/crypto/openssh/monitor_wrap.c   Tue Aug 25 20:48:44 2015
(r287144)
+++ releng/10.2/crypto/openssh/monitor_wrap.c   Tue Aug 25 20:48:51 2015
(r287145)
@@ -820,7 +820,6 @@ mm_sshpam_init_ctx(Authctxt *authctxt)
 
debug3(%s, __func__);
buffer_init(m);
-   buffer_put_cstring(m, authctxt-user);
mm_request_send(pmonitor-m_recvfd, MONITOR_REQ_PAM_INIT_CTX, m);
debug3(%s: waiting for MONITOR_ANS_PAM_INIT_CTX, __func__);
mm_request_receive_expect(pmonitor-m_recvfd, MONITOR_ANS_PAM_INIT_CTX, 
m);

Modified: releng/10.2/crypto/openssh/mux.c
==
--- releng/10.2/crypto/openssh/mux.cTue Aug 25 20:48:44 2015
(r287144)
+++ releng/10.2/crypto/openssh/mux.cTue Aug 25 20:48:51 2015
(r287145)
@@ -633,7 +633,8 @@ process_mux_open_fwd(u_int rid, Channel 
u_int lport, cport;
int i, ret = 0, freefwd = 1;
 
-   fwd.listen_host = fwd.connect_host = NULL;
+   memset(fwd, 0, sizeof(fwd));
+
if (buffer_get_int_ret(ftype, m) != 0 ||
(fwd.listen_host = buffer_get_string_ret(m, NULL)) == NULL ||
buffer_get_int_ret(lport, m) != 0 ||
@@ -783,7 +784,8 @@ process_mux_close_fwd(u_int rid, Channel
int i, listen_port, ret = 0;
u_int lport, cport;
 
-   fwd.listen_host = fwd.connect_host = NULL;
+   memset(fwd, 0, sizeof(fwd));
+
if (buffer_get_int_ret(ftype, m) != 0 ||
(fwd.listen_host = buffer_get_string_ret(m, NULL)) == NULL ||
buffer_get_int_ret(lport, m) != 0 ||

Modified: releng/10.2/sys/conf/newvers.sh
==
--- releng/10.2/sys/conf/newvers.sh Tue Aug 25 20:48:44 2015
(r287144)
+++ releng/10.2/sys/conf/newvers.sh Tue Aug 25 20:48:51 2015
(r287145)
@@ -32,7 +32,7 @@
 
 TYPE=FreeBSD
 REVISION=10.2
-BRANCH=RELEASE-p1
+BRANCH=RELEASE-p2
 if [ X${BRANCH_OVERRIDE} != X ]; then
BRANCH=${BRANCH_OVERRIDE}
 fi

Modified: releng/10.2/usr.sbin/pkg/pkg.c
==
--- releng/10.2/usr.sbin/pkg/pkg.c  Tue Aug 25 20:48:44 2015
(r287144)
+++ releng/10.2/usr.sbin/pkg/pkg.c  Tue Aug 25 20:48:51 2015

svn commit: r287143 - head/crypto/openssh

2015-08-25 Thread Xin LI
Author: delphij
Date: Tue Aug 25 20:48:37 2015
New Revision: 287143
URL: https://svnweb.freebsd.org/changeset/base/287143

Log:
  Fix OpenSSH multiple vulnerabilities by backporting three changes
  from OpenSSH-portable master.
  
  Git revisions:45b0eb752c94954a6de046bfaaf129e518ad4b5b
5e75f5198769056089fb06c4d738ab0e5abc66f7
d4697fe9a28dab7255c60433e4dd23cf7fce8a8b
  Reviewed by:  des
  Security: FreeBSD-SA-15:22.openssh

Modified:
  head/crypto/openssh/monitor.c
  head/crypto/openssh/monitor_wrap.c
  head/crypto/openssh/mux.c

Modified: head/crypto/openssh/monitor.c
==
--- head/crypto/openssh/monitor.c   Tue Aug 25 20:14:50 2015
(r287142)
+++ head/crypto/openssh/monitor.c   Tue Aug 25 20:48:37 2015
(r287143)
@@ -1027,9 +1027,7 @@ extern KbdintDevice sshpam_device;
 int
 mm_answer_pam_init_ctx(int sock, Buffer *m)
 {
-
debug3(%s, __func__);
-   authctxt-user = buffer_get_string(m, NULL);
sshpam_ctxt = (sshpam_device.init_ctx)(authctxt);
sshpam_authok = NULL;
buffer_clear(m);
@@ -,14 +1109,16 @@ mm_answer_pam_respond(int sock, Buffer *
 int
 mm_answer_pam_free_ctx(int sock, Buffer *m)
 {
+   int r = sshpam_authok != NULL  sshpam_authok == sshpam_ctxt;
 
debug3(%s, __func__);
(sshpam_device.free_ctx)(sshpam_ctxt);
+   sshpam_ctxt = sshpam_authok = NULL;
buffer_clear(m);
mm_request_send(sock, MONITOR_ANS_PAM_FREE_CTX, m);
auth_method = keyboard-interactive;
auth_submethod = pam;
-   return (sshpam_authok == sshpam_ctxt);
+   return r;
 }
 #endif
 

Modified: head/crypto/openssh/monitor_wrap.c
==
--- head/crypto/openssh/monitor_wrap.c  Tue Aug 25 20:14:50 2015
(r287142)
+++ head/crypto/openssh/monitor_wrap.c  Tue Aug 25 20:48:37 2015
(r287143)
@@ -820,7 +820,6 @@ mm_sshpam_init_ctx(Authctxt *authctxt)
 
debug3(%s, __func__);
buffer_init(m);
-   buffer_put_cstring(m, authctxt-user);
mm_request_send(pmonitor-m_recvfd, MONITOR_REQ_PAM_INIT_CTX, m);
debug3(%s: waiting for MONITOR_ANS_PAM_INIT_CTX, __func__);
mm_request_receive_expect(pmonitor-m_recvfd, MONITOR_ANS_PAM_INIT_CTX, 
m);

Modified: head/crypto/openssh/mux.c
==
--- head/crypto/openssh/mux.c   Tue Aug 25 20:14:50 2015(r287142)
+++ head/crypto/openssh/mux.c   Tue Aug 25 20:48:37 2015(r287143)
@@ -635,7 +635,8 @@ process_mux_open_fwd(u_int rid, Channel 
u_int lport, cport;
int i, ret = 0, freefwd = 1;
 
-   fwd.listen_host = fwd.connect_host = NULL;
+   memset(fwd, 0, sizeof(fwd));
+
if (buffer_get_int_ret(ftype, m) != 0 ||
(fwd.listen_host = buffer_get_string_ret(m, NULL)) == NULL ||
buffer_get_int_ret(lport, m) != 0 ||
@@ -785,7 +786,8 @@ process_mux_close_fwd(u_int rid, Channel
int i, listen_port, ret = 0;
u_int lport, cport;
 
-   fwd.listen_host = fwd.connect_host = NULL;
+   memset(fwd, 0, sizeof(fwd));
+
if (buffer_get_int_ret(ftype, m) != 0 ||
(fwd.listen_host = buffer_get_string_ret(m, NULL)) == NULL ||
buffer_get_int_ret(lport, m) != 0 ||
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r287144 - in stable: 10/crypto/openssh 9/crypto/openssh

2015-08-25 Thread Xin LI
Author: delphij
Date: Tue Aug 25 20:48:44 2015
New Revision: 287144
URL: https://svnweb.freebsd.org/changeset/base/287144

Log:
  MFC: Fix OpenSSH multiple vulnerabilities.
  
  Security: FreeBSD-SA-15:22.openssh

Modified:
  stable/9/crypto/openssh/monitor.c
  stable/9/crypto/openssh/monitor_wrap.c
  stable/9/crypto/openssh/mux.c

Changes in other areas also in this revision:
Modified:
  stable/10/crypto/openssh/monitor.c
  stable/10/crypto/openssh/monitor_wrap.c
  stable/10/crypto/openssh/mux.c

Modified: stable/9/crypto/openssh/monitor.c
==
--- stable/9/crypto/openssh/monitor.c   Tue Aug 25 20:48:37 2015
(r287143)
+++ stable/9/crypto/openssh/monitor.c   Tue Aug 25 20:48:44 2015
(r287144)
@@ -1027,9 +1027,7 @@ extern KbdintDevice sshpam_device;
 int
 mm_answer_pam_init_ctx(int sock, Buffer *m)
 {
-
debug3(%s, __func__);
-   authctxt-user = buffer_get_string(m, NULL);
sshpam_ctxt = (sshpam_device.init_ctx)(authctxt);
sshpam_authok = NULL;
buffer_clear(m);
@@ -,14 +1109,16 @@ mm_answer_pam_respond(int sock, Buffer *
 int
 mm_answer_pam_free_ctx(int sock, Buffer *m)
 {
+   int r = sshpam_authok != NULL  sshpam_authok == sshpam_ctxt;
 
debug3(%s, __func__);
(sshpam_device.free_ctx)(sshpam_ctxt);
+   sshpam_ctxt = sshpam_authok = NULL;
buffer_clear(m);
mm_request_send(sock, MONITOR_ANS_PAM_FREE_CTX, m);
auth_method = keyboard-interactive;
auth_submethod = pam;
-   return (sshpam_authok == sshpam_ctxt);
+   return r;
 }
 #endif
 

Modified: stable/9/crypto/openssh/monitor_wrap.c
==
--- stable/9/crypto/openssh/monitor_wrap.c  Tue Aug 25 20:48:37 2015
(r287143)
+++ stable/9/crypto/openssh/monitor_wrap.c  Tue Aug 25 20:48:44 2015
(r287144)
@@ -820,7 +820,6 @@ mm_sshpam_init_ctx(Authctxt *authctxt)
 
debug3(%s, __func__);
buffer_init(m);
-   buffer_put_cstring(m, authctxt-user);
mm_request_send(pmonitor-m_recvfd, MONITOR_REQ_PAM_INIT_CTX, m);
debug3(%s: waiting for MONITOR_ANS_PAM_INIT_CTX, __func__);
mm_request_receive_expect(pmonitor-m_recvfd, MONITOR_ANS_PAM_INIT_CTX, 
m);

Modified: stable/9/crypto/openssh/mux.c
==
--- stable/9/crypto/openssh/mux.c   Tue Aug 25 20:48:37 2015
(r287143)
+++ stable/9/crypto/openssh/mux.c   Tue Aug 25 20:48:44 2015
(r287144)
@@ -635,7 +635,8 @@ process_mux_open_fwd(u_int rid, Channel 
u_int lport, cport;
int i, ret = 0, freefwd = 1;
 
-   fwd.listen_host = fwd.connect_host = NULL;
+   memset(fwd, 0, sizeof(fwd));
+
if (buffer_get_int_ret(ftype, m) != 0 ||
(fwd.listen_host = buffer_get_string_ret(m, NULL)) == NULL ||
buffer_get_int_ret(lport, m) != 0 ||
@@ -785,7 +786,8 @@ process_mux_close_fwd(u_int rid, Channel
int i, listen_port, ret = 0;
u_int lport, cport;
 
-   fwd.listen_host = fwd.connect_host = NULL;
+   memset(fwd, 0, sizeof(fwd));
+
if (buffer_get_int_ret(ftype, m) != 0 ||
(fwd.listen_host = buffer_get_string_ret(m, NULL)) == NULL ||
buffer_get_int_ret(lport, m) != 0 ||
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r287146 - in releng/10.1: . crypto/openssh sys/amd64/amd64 sys/conf sys/modules/ixgbe usr.sbin/pkg

2015-08-25 Thread Xin LI
Author: delphij
Date: Tue Aug 25 20:48:58 2015
New Revision: 287146
URL: https://svnweb.freebsd.org/changeset/base/287146

Log:
  Fix local privilege escalation in IRET handler. [SA-15:21]
  
  Fix OpenSSH multiple vulnerabilities. [SA-15:22]
  
  Disabled ixgbe(4) flow-director support. [EN-15:14]
  
  Fix insufficient check of unsupported pkg(7) signature methods.
  [EN-15:15]
  
  Approved by:  so

Modified:
  releng/10.1/UPDATING
  releng/10.1/crypto/openssh/monitor.c
  releng/10.1/crypto/openssh/monitor_wrap.c
  releng/10.1/crypto/openssh/mux.c
  releng/10.1/sys/amd64/amd64/exception.S
  releng/10.1/sys/amd64/amd64/machdep.c
  releng/10.1/sys/amd64/amd64/trap.c
  releng/10.1/sys/conf/files
  releng/10.1/sys/conf/newvers.sh
  releng/10.1/sys/modules/ixgbe/Makefile
  releng/10.1/usr.sbin/pkg/pkg.c

Modified: releng/10.1/UPDATING
==
--- releng/10.1/UPDATINGTue Aug 25 20:48:51 2015(r287145)
+++ releng/10.1/UPDATINGTue Aug 25 20:48:58 2015(r287146)
@@ -16,6 +16,20 @@ from older versions of FreeBSD, try WITH
 stable/10, and then rebuild without this option. The bootstrap process from
 older version of current is a bit fragile.
 
+20150825:  p19 FreeBSD-SA-15:21.amd64
+   FreeBSD-SA-15:22.openssh
+   FreeBSD-EN-15:14.ixgbe
+   FreeBSD-EN-15:15.pkg
+
+   Fix local privilege escalation in IRET handler. [SA-15:21]
+
+   Fix OpenSSH multiple vulnerabilities. [SA-15:22]
+
+   Disabled ixgbe(4) flow-director support. [EN-15:14]
+
+   Fix insufficient check of unsupported pkg(7) signature methods.
+   [EN-15:15]
+
 20150818:  p18 FreeBSD-SA-15:20.expat
 
Fix multiple integer overflows in expat (libbsdxml) XML parser.

Modified: releng/10.1/crypto/openssh/monitor.c
==
--- releng/10.1/crypto/openssh/monitor.cTue Aug 25 20:48:51 2015
(r287145)
+++ releng/10.1/crypto/openssh/monitor.cTue Aug 25 20:48:58 2015
(r287146)
@@ -1027,9 +1027,7 @@ extern KbdintDevice sshpam_device;
 int
 mm_answer_pam_init_ctx(int sock, Buffer *m)
 {
-
debug3(%s, __func__);
-   authctxt-user = buffer_get_string(m, NULL);
sshpam_ctxt = (sshpam_device.init_ctx)(authctxt);
sshpam_authok = NULL;
buffer_clear(m);
@@ -,14 +1109,16 @@ mm_answer_pam_respond(int sock, Buffer *
 int
 mm_answer_pam_free_ctx(int sock, Buffer *m)
 {
+   int r = sshpam_authok != NULL  sshpam_authok == sshpam_ctxt;
 
debug3(%s, __func__);
(sshpam_device.free_ctx)(sshpam_ctxt);
+   sshpam_ctxt = sshpam_authok = NULL;
buffer_clear(m);
mm_request_send(sock, MONITOR_ANS_PAM_FREE_CTX, m);
auth_method = keyboard-interactive;
auth_submethod = pam;
-   return (sshpam_authok == sshpam_ctxt);
+   return r;
 }
 #endif
 

Modified: releng/10.1/crypto/openssh/monitor_wrap.c
==
--- releng/10.1/crypto/openssh/monitor_wrap.c   Tue Aug 25 20:48:51 2015
(r287145)
+++ releng/10.1/crypto/openssh/monitor_wrap.c   Tue Aug 25 20:48:58 2015
(r287146)
@@ -820,7 +820,6 @@ mm_sshpam_init_ctx(Authctxt *authctxt)
 
debug3(%s, __func__);
buffer_init(m);
-   buffer_put_cstring(m, authctxt-user);
mm_request_send(pmonitor-m_recvfd, MONITOR_REQ_PAM_INIT_CTX, m);
debug3(%s: waiting for MONITOR_ANS_PAM_INIT_CTX, __func__);
mm_request_receive_expect(pmonitor-m_recvfd, MONITOR_ANS_PAM_INIT_CTX, 
m);

Modified: releng/10.1/crypto/openssh/mux.c
==
--- releng/10.1/crypto/openssh/mux.cTue Aug 25 20:48:51 2015
(r287145)
+++ releng/10.1/crypto/openssh/mux.cTue Aug 25 20:48:58 2015
(r287146)
@@ -633,7 +633,8 @@ process_mux_open_fwd(u_int rid, Channel 
u_int lport, cport;
int i, ret = 0, freefwd = 1;
 
-   fwd.listen_host = fwd.connect_host = NULL;
+   memset(fwd, 0, sizeof(fwd));
+
if (buffer_get_int_ret(ftype, m) != 0 ||
(fwd.listen_host = buffer_get_string_ret(m, NULL)) == NULL ||
buffer_get_int_ret(lport, m) != 0 ||
@@ -783,7 +784,8 @@ process_mux_close_fwd(u_int rid, Channel
int i, listen_port, ret = 0;
u_int lport, cport;
 
-   fwd.listen_host = fwd.connect_host = NULL;
+   memset(fwd, 0, sizeof(fwd));
+
if (buffer_get_int_ret(ftype, m) != 0 ||
(fwd.listen_host = buffer_get_string_ret(m, NULL)) == NULL ||
buffer_get_int_ret(lport, m) != 0 ||

Modified: releng/10.1/sys/amd64/amd64/exception.S
==
--- releng/10.1/sys/amd64/amd64/exception.S Tue Aug 25 20:48:51 2015

svn commit: r287147 - in releng/9.3: . crypto/openssh sys/amd64/amd64 sys/conf usr.sbin/pkg

2015-08-25 Thread Xin LI
Author: delphij
Date: Tue Aug 25 20:49:05 2015
New Revision: 287147
URL: https://svnweb.freebsd.org/changeset/base/287147

Log:
  Fix local privilege escalation in IRET handler. [SA-15:21]
  
  Fix OpenSSH multiple vulnerabilities. [SA-15:22]
  
  Fix insufficient check of unsupported pkg(7) signature methods.
  [EN-15:15]
  
  Approved by:  so

Modified:
  releng/9.3/UPDATING
  releng/9.3/crypto/openssh/monitor.c
  releng/9.3/crypto/openssh/monitor_wrap.c
  releng/9.3/crypto/openssh/mux.c
  releng/9.3/sys/amd64/amd64/exception.S
  releng/9.3/sys/amd64/amd64/machdep.c
  releng/9.3/sys/amd64/amd64/trap.c
  releng/9.3/sys/conf/newvers.sh
  releng/9.3/usr.sbin/pkg/pkg.c

Modified: releng/9.3/UPDATING
==
--- releng/9.3/UPDATING Tue Aug 25 20:48:58 2015(r287146)
+++ releng/9.3/UPDATING Tue Aug 25 20:49:05 2015(r287147)
@@ -11,6 +11,17 @@ handbook:
 Items affecting the ports and packages system can be found in
 /usr/ports/UPDATING.  Please read that file before running portupgrade.
 
+20150825:  p24 FreeBSD-SA-15:21.amd64
+   FreeBSD-SA-15:22.openssh
+   FreeBSD-EN-15:15.pkg
+
+   Fix local privilege escalation in IRET handler. [SA-15:21]
+
+   Fix OpenSSH multiple vulnerabilities. [SA-15:22]
+
+   Fix insufficient check of unsupported pkg(7) signature methods.
+   [EN-15:15]
+
 20150818:  p23 FreeBSD-SA-15:20.expat
 
Fix multiple integer overflows in expat (libbsdxml) XML parser.

Modified: releng/9.3/crypto/openssh/monitor.c
==
--- releng/9.3/crypto/openssh/monitor.c Tue Aug 25 20:48:58 2015
(r287146)
+++ releng/9.3/crypto/openssh/monitor.c Tue Aug 25 20:49:05 2015
(r287147)
@@ -1027,9 +1027,7 @@ extern KbdintDevice sshpam_device;
 int
 mm_answer_pam_init_ctx(int sock, Buffer *m)
 {
-
debug3(%s, __func__);
-   authctxt-user = buffer_get_string(m, NULL);
sshpam_ctxt = (sshpam_device.init_ctx)(authctxt);
sshpam_authok = NULL;
buffer_clear(m);
@@ -,14 +1109,16 @@ mm_answer_pam_respond(int sock, Buffer *
 int
 mm_answer_pam_free_ctx(int sock, Buffer *m)
 {
+   int r = sshpam_authok != NULL  sshpam_authok == sshpam_ctxt;
 
debug3(%s, __func__);
(sshpam_device.free_ctx)(sshpam_ctxt);
+   sshpam_ctxt = sshpam_authok = NULL;
buffer_clear(m);
mm_request_send(sock, MONITOR_ANS_PAM_FREE_CTX, m);
auth_method = keyboard-interactive;
auth_submethod = pam;
-   return (sshpam_authok == sshpam_ctxt);
+   return r;
 }
 #endif
 

Modified: releng/9.3/crypto/openssh/monitor_wrap.c
==
--- releng/9.3/crypto/openssh/monitor_wrap.cTue Aug 25 20:48:58 2015
(r287146)
+++ releng/9.3/crypto/openssh/monitor_wrap.cTue Aug 25 20:49:05 2015
(r287147)
@@ -820,7 +820,6 @@ mm_sshpam_init_ctx(Authctxt *authctxt)
 
debug3(%s, __func__);
buffer_init(m);
-   buffer_put_cstring(m, authctxt-user);
mm_request_send(pmonitor-m_recvfd, MONITOR_REQ_PAM_INIT_CTX, m);
debug3(%s: waiting for MONITOR_ANS_PAM_INIT_CTX, __func__);
mm_request_receive_expect(pmonitor-m_recvfd, MONITOR_ANS_PAM_INIT_CTX, 
m);

Modified: releng/9.3/crypto/openssh/mux.c
==
--- releng/9.3/crypto/openssh/mux.c Tue Aug 25 20:48:58 2015
(r287146)
+++ releng/9.3/crypto/openssh/mux.c Tue Aug 25 20:49:05 2015
(r287147)
@@ -635,7 +635,8 @@ process_mux_open_fwd(u_int rid, Channel 
u_int lport, cport;
int i, ret = 0, freefwd = 1;
 
-   fwd.listen_host = fwd.connect_host = NULL;
+   memset(fwd, 0, sizeof(fwd));
+
if (buffer_get_int_ret(ftype, m) != 0 ||
(fwd.listen_host = buffer_get_string_ret(m, NULL)) == NULL ||
buffer_get_int_ret(lport, m) != 0 ||
@@ -785,7 +786,8 @@ process_mux_close_fwd(u_int rid, Channel
int i, listen_port, ret = 0;
u_int lport, cport;
 
-   fwd.listen_host = fwd.connect_host = NULL;
+   memset(fwd, 0, sizeof(fwd));
+
if (buffer_get_int_ret(ftype, m) != 0 ||
(fwd.listen_host = buffer_get_string_ret(m, NULL)) == NULL ||
buffer_get_int_ret(lport, m) != 0 ||

Modified: releng/9.3/sys/amd64/amd64/exception.S
==
--- releng/9.3/sys/amd64/amd64/exception.S  Tue Aug 25 20:48:58 2015
(r287146)
+++ releng/9.3/sys/amd64/amd64/exception.S  Tue Aug 25 20:49:05 2015
(r287147)
@@ -154,9 +154,13 @@ IDTVEC(xmm)
 IDTVEC(tss)
TRAP_ERR(T_TSSFLT)
 IDTVEC(missing)
-   TRAP_ERR(T_SEGNPFLT)
+   subq$TF_ERR,%rsp
+   movl$T_SEGNPFLT,TF_TRAPNO(%rsp)
+   jmp

svn commit: r287140 - in vendor-sys/acpica/dist: . generate/unix/acpinames generate/unix/iasl source/common source/compiler source/components/debugger source/components/disassembler source/componen...

2015-08-25 Thread Jung-uk Kim
Author: jkim
Date: Tue Aug 25 19:41:12 2015
New Revision: 287140
URL: https://svnweb.freebsd.org/changeset/base/287140

Log:
  Import ACPICA 20150818.

Modified:
  vendor-sys/acpica/dist/changes.txt
  vendor-sys/acpica/dist/generate/unix/acpinames/Makefile
  vendor-sys/acpica/dist/generate/unix/iasl/Makefile
  vendor-sys/acpica/dist/source/common/adisasm.c
  vendor-sys/acpica/dist/source/common/dmtable.c
  vendor-sys/acpica/dist/source/compiler/aslmain.c
  vendor-sys/acpica/dist/source/compiler/asloperands.c
  vendor-sys/acpica/dist/source/compiler/asloptions.c
  vendor-sys/acpica/dist/source/compiler/aslstartup.c
  vendor-sys/acpica/dist/source/components/debugger/dbcmds.c
  vendor-sys/acpica/dist/source/components/debugger/dbconvert.c
  vendor-sys/acpica/dist/source/components/debugger/dbdisply.c
  vendor-sys/acpica/dist/source/components/debugger/dbexec.c
  vendor-sys/acpica/dist/source/components/debugger/dbfileio.c
  vendor-sys/acpica/dist/source/components/debugger/dbhistry.c
  vendor-sys/acpica/dist/source/components/debugger/dbinput.c
  vendor-sys/acpica/dist/source/components/debugger/dbmethod.c
  vendor-sys/acpica/dist/source/components/debugger/dbnames.c
  vendor-sys/acpica/dist/source/components/debugger/dbobject.c
  vendor-sys/acpica/dist/source/components/debugger/dbstats.c
  vendor-sys/acpica/dist/source/components/debugger/dbtest.c
  vendor-sys/acpica/dist/source/components/debugger/dbutils.c
  vendor-sys/acpica/dist/source/components/debugger/dbxface.c
  vendor-sys/acpica/dist/source/components/disassembler/dmbuffer.c
  vendor-sys/acpica/dist/source/components/disassembler/dmcstyle.c
  vendor-sys/acpica/dist/source/components/disassembler/dmnames.c
  vendor-sys/acpica/dist/source/components/disassembler/dmopcode.c
  vendor-sys/acpica/dist/source/components/disassembler/dmresrc.c
  vendor-sys/acpica/dist/source/components/disassembler/dmresrcl.c
  vendor-sys/acpica/dist/source/components/disassembler/dmresrcl2.c
  vendor-sys/acpica/dist/source/components/disassembler/dmresrcs.c
  vendor-sys/acpica/dist/source/components/disassembler/dmutils.c
  vendor-sys/acpica/dist/source/components/disassembler/dmwalk.c
  vendor-sys/acpica/dist/source/components/dispatcher/dscontrol.c
  vendor-sys/acpica/dist/source/components/dispatcher/dsdebug.c
  vendor-sys/acpica/dist/source/components/dispatcher/dsinit.c
  vendor-sys/acpica/dist/source/components/dispatcher/dsopcode.c
  vendor-sys/acpica/dist/source/components/events/evregion.c
  vendor-sys/acpica/dist/source/components/executer/exconfig.c
  vendor-sys/acpica/dist/source/components/executer/exdump.c
  vendor-sys/acpica/dist/source/components/executer/exresnte.c
  vendor-sys/acpica/dist/source/components/executer/exresolv.c
  vendor-sys/acpica/dist/source/components/hardware/hwxfsleep.c
  vendor-sys/acpica/dist/source/components/namespace/nseval.c
  vendor-sys/acpica/dist/source/components/namespace/nsload.c
  vendor-sys/acpica/dist/source/components/namespace/nsutils.c
  vendor-sys/acpica/dist/source/components/parser/psloop.c
  vendor-sys/acpica/dist/source/components/resources/rsdump.c
  vendor-sys/acpica/dist/source/components/tables/tbfadt.c
  vendor-sys/acpica/dist/source/components/tables/tbfind.c
  vendor-sys/acpica/dist/source/components/tables/tbinstal.c
  vendor-sys/acpica/dist/source/components/tables/tbutils.c
  vendor-sys/acpica/dist/source/components/tables/tbxfload.c
  vendor-sys/acpica/dist/source/components/utilities/utfileio.c
  vendor-sys/acpica/dist/source/components/utilities/utinit.c
  vendor-sys/acpica/dist/source/components/utilities/utmisc.c
  vendor-sys/acpica/dist/source/components/utilities/utxface.c
  vendor-sys/acpica/dist/source/components/utilities/utxfinit.c
  vendor-sys/acpica/dist/source/include/acbuffer.h
  vendor-sys/acpica/dist/source/include/acconfig.h
  vendor-sys/acpica/dist/source/include/acdebug.h
  vendor-sys/acpica/dist/source/include/acdisasm.h
  vendor-sys/acpica/dist/source/include/acexcep.h
  vendor-sys/acpica/dist/source/include/acglobal.h
  vendor-sys/acpica/dist/source/include/aclocal.h
  vendor-sys/acpica/dist/source/include/acpixf.h
  vendor-sys/acpica/dist/source/include/actables.h
  vendor-sys/acpica/dist/source/include/actypes.h
  vendor-sys/acpica/dist/source/include/acutils.h
  vendor-sys/acpica/dist/source/include/platform/acenv.h
  vendor-sys/acpica/dist/source/include/platform/acmsvc.h
  vendor-sys/acpica/dist/source/tools/acpiexec/aeexec.c
  vendor-sys/acpica/dist/source/tools/acpiexec/aemain.c
  vendor-sys/acpica/dist/source/tools/acpiexec/aetables.c
  vendor-sys/acpica/dist/source/tools/acpihelp/ahdecode.c
  vendor-sys/acpica/dist/source/tools/acpinames/acpinames.h
  vendor-sys/acpica/dist/source/tools/acpinames/anmain.c
  vendor-sys/acpica/dist/source/tools/acpinames/anstubs.c
  vendor-sys/acpica/dist/source/tools/acpinames/antables.c
  vendor-sys/acpica/dist/source/tools/acpisrc/astable.c

Modified: vendor-sys/acpica/dist/changes.txt

svn commit: r287141 - vendor-sys/acpica/20150818

2015-08-25 Thread Jung-uk Kim
Author: jkim
Date: Tue Aug 25 19:41:43 2015
New Revision: 287141
URL: https://svnweb.freebsd.org/changeset/base/287141

Log:
  Tag ACPICA 20150818.

Added:
  vendor-sys/acpica/20150818/
 - copied from r287140, vendor-sys/acpica/dist/
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


Re: svn commit: r287016 - in stable/10: . share/man/man4 sys/arm/mv sys/boot/forth sys/conf sys/dev/ata sys/dev/ata/chipsets sys/modules/ata/atapci/chipsets sys/modules/ata/atapci/chipsets/ataadaptec

2015-08-25 Thread Alexander Motin
On 25.08.2015 13:37, Gleb Smirnoff wrote:
 On Sat, Aug 22, 2015 at 07:32:48AM +, Alexander Motin wrote:
 A Author: mav
 A Date: Sat Aug 22 07:32:47 2015
 A New Revision: 287016
 A URL: https://svnweb.freebsd.org/changeset/base/287016
 A 
 A Log:
 A   MFC r280451:
 A   Remove from legacy ata(4) driver support for hardware, supported by newer
 A   and more functional drivers ahci(4), siis(4) and mvs(4).
 A   
 A   This removes about 3400 lines of code, unused since FreeBSD 9.0 release.
 
 What is the reason to break POLA in stable branch? 

Reducing diff from head to make later merges easier.

 Don't get me wrong. I'm all for removing stale code from head. But is it
 worth to hurt someone who runs custom built kernel with 'device ad' and
 tracks stable/10?

There never was legacy ATA stack in stable/10, so there is no such
users. The only POLA breakage here is that people with custom kernels
for some reason having only ata driver may now require ahci, siis or
mvs. If such cases exist, they are most likely a configuration bugs, as
alternative gives NCQ, hot-plug, etc. for free.

-- 
Alexander Motin
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r287149 - stable/10/sys/dev/cxgbe

2015-08-25 Thread Navdeep Parhar
Author: np
Date: Wed Aug 26 01:41:55 2015
New Revision: 287149
URL: https://svnweb.freebsd.org/changeset/base/287149

Log:
  MFC r286926:
  
  cxgbe(4):  Save the flags for the last adapter-wide synchronized
  operation that was initiated successfully.  (The caller and thread are
  already recorded).

Modified:
  stable/10/sys/dev/cxgbe/adapter.h
  stable/10/sys/dev/cxgbe/t4_main.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/dev/cxgbe/adapter.h
==
--- stable/10/sys/dev/cxgbe/adapter.h   Tue Aug 25 21:55:15 2015
(r287148)
+++ stable/10/sys/dev/cxgbe/adapter.h   Wed Aug 26 01:41:55 2015
(r287149)
@@ -801,6 +801,7 @@ struct adapter {
 #ifdef INVARIANTS
const char *last_op;
const void *last_op_thr;
+   int last_op_flags;
 #endif
 
int sc_do_rxcopy;

Modified: stable/10/sys/dev/cxgbe/t4_main.c
==
--- stable/10/sys/dev/cxgbe/t4_main.c   Tue Aug 25 21:55:15 2015
(r287148)
+++ stable/10/sys/dev/cxgbe/t4_main.c   Wed Aug 26 01:41:55 2015
(r287149)
@@ -1149,6 +1149,7 @@ cxgbe_detach(device_t dev)
 #ifdef INVARIANTS
sc-last_op = t4detach;
sc-last_op_thr = curthread;
+   sc-last_op_flags = 0;
 #endif
ADAPTER_UNLOCK(sc);
 
@@ -3109,6 +3110,7 @@ begin_synchronized_op(struct adapter *sc
 #ifdef INVARIANTS
sc-last_op = wmesg;
sc-last_op_thr = curthread;
+   sc-last_op_flags = flags;
 #endif
 
 done:
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org