summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRenato Botelho <renato@netgate.com>2016-08-10 08:35:27 -0300
committerRenato Botelho <renato@netgate.com>2016-08-10 08:35:27 -0300
commit9d041a74aef192fb99247bfb47076940333c4df4 (patch)
tree3010b8b79f21787453e3c1dcaa385e43382b5084
parent277681ea4bfe9074bcf768e778b13b299aa719a4 (diff)
parent85877b3d79825c1bd4d3792dc2bb6917aa9940dd (diff)
downloadFreeBSD-src-9d041a74aef192fb99247bfb47076940333c4df4.zip
FreeBSD-src-9d041a74aef192fb99247bfb47076940333c4df4.tar.gz
Merge remote-tracking branch 'origin/stable/11' into devel-11
-rw-r--r--lib/libc/gen/Makefile.inc1
-rw-r--r--release/release.conf.sample2
-rw-r--r--sbin/pfctl/parse.y10
-rw-r--r--sys/boot/fdt/dts/arm/zynq-7000.dtsi4
-rw-r--r--sys/compat/freebsd32/freebsd32_proto.h2
-rw-r--r--sys/compat/freebsd32/freebsd32_syscall.h4
-rw-r--r--sys/compat/freebsd32/freebsd32_syscalls.c2
-rw-r--r--sys/compat/freebsd32/freebsd32_sysent.c2
-rw-r--r--sys/dev/xen/netfront/netfront.c60
-rw-r--r--sys/kern/init_sysent.c2
-rw-r--r--sys/kern/makesyscalls.sh4
-rw-r--r--sys/kern/sched_4bsd.c2
-rw-r--r--sys/kern/syscalls.c2
-rw-r--r--sys/kern/syscalls.master8
-rw-r--r--sys/opencrypto/xform_aes_icm.c2
-rw-r--r--sys/sys/syscall.h4
-rw-r--r--sys/sys/syscall.mk3
-rw-r--r--sys/sys/sysproto.h2
-rw-r--r--usr.bin/grep/regex/tre-fastmatch.c2
19 files changed, 70 insertions, 48 deletions
diff --git a/lib/libc/gen/Makefile.inc b/lib/libc/gen/Makefile.inc
index a68f5c7..696d907 100644
--- a/lib/libc/gen/Makefile.inc
+++ b/lib/libc/gen/Makefile.inc
@@ -390,6 +390,7 @@ MLINKS+=getgrent.3 endgrent.3 \
getgrent.3 getgrgid_r.3
MLINKS+=gethostname.3 sethostname.3
MLINKS+=getnetgrent.3 endnetgrent.3 \
+ getnetgrent.3 getnetgrent_r.3 \
getnetgrent.3 innetgr.3 \
getnetgrent.3 setnetgrent.3
MLINKS+=getprogname.3 setprogname.3
diff --git a/release/release.conf.sample b/release/release.conf.sample
index 176894a..1dfe9b3 100644
--- a/release/release.conf.sample
+++ b/release/release.conf.sample
@@ -16,7 +16,7 @@ CHROOTDIR="/scratch"
SVNROOT="svn://svn.FreeBSD.org/"
## Set the src/, ports/, and doc/ branches or tags.
-SRCBRANCH="base/head@rHEAD"
+SRCBRANCH="base/stable/11@rHEAD"
DOCBRANCH="doc/head@rHEAD"
PORTBRANCH="ports/head@rHEAD"
diff --git a/sbin/pfctl/parse.y b/sbin/pfctl/parse.y
index 6e5ef7e..17c96db 100644
--- a/sbin/pfctl/parse.y
+++ b/sbin/pfctl/parse.y
@@ -4588,6 +4588,16 @@ timeout_spec : STRING NUMBER
}
free($1);
}
+ | INTERVAL NUMBER {
+ if (check_rulestate(PFCTL_STATE_OPTION))
+ YYERROR;
+ if ($2 < 0 || $2 > UINT_MAX) {
+ yyerror("only positive values permitted");
+ YYERROR;
+ }
+ if (pfctl_set_timeout(pf, "interval", $2, 0) != 0)
+ YYERROR;
+ }
;
timeout_list : timeout_list comma timeout_spec optnl
diff --git a/sys/boot/fdt/dts/arm/zynq-7000.dtsi b/sys/boot/fdt/dts/arm/zynq-7000.dtsi
index f0fe7f4..ae081ad 100644
--- a/sys/boot/fdt/dts/arm/zynq-7000.dtsi
+++ b/sys/boot/fdt/dts/arm/zynq-7000.dtsi
@@ -32,6 +32,10 @@
#size-cells = <1>;
interrupt-parent = <&GIC>;
+ // Reserve first half megabyte because it is not accessible to all
+ // bus masters.
+ memreserve = <0x00000000 0x00080000>;
+
// Zynq PS System registers.
//
ps7sys@f8000000 {
diff --git a/sys/compat/freebsd32/freebsd32_proto.h b/sys/compat/freebsd32/freebsd32_proto.h
index ac2ad75..a21b51a 100644
--- a/sys/compat/freebsd32/freebsd32_proto.h
+++ b/sys/compat/freebsd32/freebsd32_proto.h
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 302094 2016-06-22 21:15:59Z brooks
+ * created from FreeBSD: stable/11/sys/compat/freebsd32/syscalls.master 302094 2016-06-22 21:15:59Z brooks
*/
#ifndef _FREEBSD32_SYSPROTO_H_
diff --git a/sys/compat/freebsd32/freebsd32_syscall.h b/sys/compat/freebsd32/freebsd32_syscall.h
index 563e9bc..34ac494 100644
--- a/sys/compat/freebsd32/freebsd32_syscall.h
+++ b/sys/compat/freebsd32/freebsd32_syscall.h
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 302094 2016-06-22 21:15:59Z brooks
+ * created from FreeBSD: stable/11/sys/compat/freebsd32/syscalls.master 302094 2016-06-22 21:15:59Z brooks
*/
#define FREEBSD32_SYS_syscall 0
@@ -48,7 +48,7 @@
#define FREEBSD32_SYS_getppid 39
/* 40 is old freebsd32_lstat */
#define FREEBSD32_SYS_dup 41
- /* 42 is freebsd10 freebsd32_pipe */
+#define FREEBSD32_SYS_freebsd10_freebsd32_pipe 42
#define FREEBSD32_SYS_getegid 43
#define FREEBSD32_SYS_profil 44
#define FREEBSD32_SYS_ktrace 45
diff --git a/sys/compat/freebsd32/freebsd32_syscalls.c b/sys/compat/freebsd32/freebsd32_syscalls.c
index 61ce315..e211d66 100644
--- a/sys/compat/freebsd32/freebsd32_syscalls.c
+++ b/sys/compat/freebsd32/freebsd32_syscalls.c
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 302094 2016-06-22 21:15:59Z brooks
+ * created from FreeBSD: stable/11/sys/compat/freebsd32/syscalls.master 302094 2016-06-22 21:15:59Z brooks
*/
const char *freebsd32_syscallnames[] = {
diff --git a/sys/compat/freebsd32/freebsd32_sysent.c b/sys/compat/freebsd32/freebsd32_sysent.c
index b1b4eba..d42d5fe 100644
--- a/sys/compat/freebsd32/freebsd32_sysent.c
+++ b/sys/compat/freebsd32/freebsd32_sysent.c
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 302094 2016-06-22 21:15:59Z brooks
+ * created from FreeBSD: stable/11/sys/compat/freebsd32/syscalls.master 302094 2016-06-22 21:15:59Z brooks
*/
#include "opt_compat.h"
diff --git a/sys/dev/xen/netfront/netfront.c b/sys/dev/xen/netfront/netfront.c
index 3d02a52..a68bc96 100644
--- a/sys/dev/xen/netfront/netfront.c
+++ b/sys/dev/xen/netfront/netfront.c
@@ -1760,7 +1760,7 @@ xn_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
#ifdef INET
struct ifaddr *ifa = (struct ifaddr *)data;
#endif
- int mask, error = 0;
+ int mask, error = 0, reinit;
dev = sc->xbdev;
@@ -1809,41 +1809,36 @@ xn_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
break;
case SIOCSIFCAP:
mask = ifr->ifr_reqcap ^ ifp->if_capenable;
+ reinit = 0;
+
if (mask & IFCAP_TXCSUM) {
- if (IFCAP_TXCSUM & ifp->if_capenable) {
- ifp->if_capenable &= ~(IFCAP_TXCSUM|IFCAP_TSO4);
- ifp->if_hwassist &= ~(CSUM_TCP | CSUM_UDP
- | CSUM_IP | CSUM_TSO);
- } else {
- ifp->if_capenable |= IFCAP_TXCSUM;
- ifp->if_hwassist |= (CSUM_TCP | CSUM_UDP
- | CSUM_IP);
- }
- }
- if (mask & IFCAP_RXCSUM) {
- ifp->if_capenable ^= IFCAP_RXCSUM;
+ ifp->if_capenable ^= IFCAP_TXCSUM;
+ ifp->if_hwassist ^= XN_CSUM_FEATURES;
}
if (mask & IFCAP_TSO4) {
- if (IFCAP_TSO4 & ifp->if_capenable) {
- ifp->if_capenable &= ~IFCAP_TSO4;
- ifp->if_hwassist &= ~CSUM_TSO;
- } else if (IFCAP_TXCSUM & ifp->if_capenable) {
- ifp->if_capenable |= IFCAP_TSO4;
- ifp->if_hwassist |= CSUM_TSO;
- } else {
- IPRINTK("Xen requires tx checksum offload"
- " be enabled to use TSO\n");
- error = EINVAL;
- }
+ ifp->if_capenable ^= IFCAP_TSO4;
+ ifp->if_hwassist ^= CSUM_TSO;
}
- if (mask & IFCAP_LRO) {
- ifp->if_capenable ^= IFCAP_LRO;
+ if (mask & (IFCAP_RXCSUM | IFCAP_LRO)) {
+ /* These Rx features require us to renegotiate. */
+ reinit = 1;
+
+ if (mask & IFCAP_RXCSUM)
+ ifp->if_capenable ^= IFCAP_RXCSUM;
+ if (mask & IFCAP_LRO)
+ ifp->if_capenable ^= IFCAP_LRO;
}
+
+ if (reinit == 0)
+ break;
+
/*
* We must reset the interface so the backend picks up the
* new features.
*/
+ device_printf(sc->xbdev,
+ "performing interface reset due to feature change\n");
XN_LOCK(sc);
netfront_carrier_off(sc);
sc->xn_reset = true;
@@ -1865,6 +1860,13 @@ xn_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
xs_rm(XST_NIL, xenbus_get_node(dev), "feature-gso-tcpv4");
xs_rm(XST_NIL, xenbus_get_node(dev), "feature-no-csum-offload");
xenbus_set_state(dev, XenbusStateClosing);
+
+ /*
+ * Wait for the frontend to reconnect before returning
+ * from the ioctl. 30s should be more than enough for any
+ * sane backend to reconnect.
+ */
+ error = tsleep(sc, 0, "xn_rst", 30*hz);
break;
case SIOCADDMULTI:
case SIOCDELMULTI:
@@ -1971,6 +1973,7 @@ xn_connect(struct netfront_info *np)
* packets.
*/
netfront_carrier_on(np);
+ wakeup(np);
return (0);
}
@@ -2085,7 +2088,7 @@ xn_configure_features(struct netfront_info *np)
#endif
if ((ifp->if_capabilities & cap_enabled & IFCAP_TXCSUM) != 0) {
ifp->if_capenable |= IFCAP_TXCSUM;
- ifp->if_hwassist |= CSUM_TCP|CSUM_UDP;
+ ifp->if_hwassist |= XN_CSUM_FEATURES;
}
if ((ifp->if_capabilities & cap_enabled & IFCAP_RXCSUM) != 0)
ifp->if_capenable |= IFCAP_RXCSUM;
@@ -2157,6 +2160,9 @@ xn_txq_mq_start(struct ifnet *ifp, struct mbuf *m)
np = ifp->if_softc;
npairs = np->num_queues;
+ if (!netfront_carrier_ok(np))
+ return (ENOBUFS);
+
KASSERT(npairs != 0, ("called with 0 available queues"));
/* check if flowid is set */
diff --git a/sys/kern/init_sysent.c b/sys/kern/init_sysent.c
index 2097165..5aec84f 100644
--- a/sys/kern/init_sysent.c
+++ b/sys/kern/init_sysent.c
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: head/sys/kern/syscalls.master 302094 2016-06-22 21:15:59Z brooks
+ * created from FreeBSD: stable/11/sys/kern/syscalls.master 303854 2016-08-08 20:23:11Z bdrewery
*/
#include "opt_compat.h"
diff --git a/sys/kern/makesyscalls.sh b/sys/kern/makesyscalls.sh
index ca28aaf2..b5215bd 100644
--- a/sys/kern/makesyscalls.sh
+++ b/sys/kern/makesyscalls.sh
@@ -578,8 +578,8 @@ s/\$//g
printf("/* %d = %s %s */\n", syscall, descr, funcalias) > sysent
printf("\t\"%s.%s\",\t\t/* %d = %s %s */\n",
wrap, funcalias, syscall, descr, funcalias) > sysnames
- # XXX-BD: why no COMPAT7?
- if (flag("COMPAT") || flag("COMPAT4") || flag("COMPAT6") || flag("COMPAT10")) {
+ # Do not provide freebsdN_* symbols in libc for < FreeBSD 7
+ if (flag("COMPAT") || flag("COMPAT4") || flag("COMPAT6")) {
printf("\t\t\t\t/* %d is %s %s */\n",
syscall, descr, funcalias) > syshdr
} else if (!flag("NODEF")) {
diff --git a/sys/kern/sched_4bsd.c b/sys/kern/sched_4bsd.c
index 7de56b6..78507eb 100644
--- a/sys/kern/sched_4bsd.c
+++ b/sys/kern/sched_4bsd.c
@@ -1241,7 +1241,7 @@ sched_pickcpu(struct thread *td)
mtx_assert(&sched_lock, MA_OWNED);
- if (THREAD_CAN_SCHED(td, td->td_lastcpu))
+ if (td->td_lastcpu != NOCPU && THREAD_CAN_SCHED(td, td->td_lastcpu))
best = td->td_lastcpu;
else
best = NOCPU;
diff --git a/sys/kern/syscalls.c b/sys/kern/syscalls.c
index ba82aa8..747604d 100644
--- a/sys/kern/syscalls.c
+++ b/sys/kern/syscalls.c
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: head/sys/kern/syscalls.master 302094 2016-06-22 21:15:59Z brooks
+ * created from FreeBSD: stable/11/sys/kern/syscalls.master 303854 2016-08-08 20:23:11Z bdrewery
*/
const char *syscallnames[] = {
diff --git a/sys/kern/syscalls.master b/sys/kern/syscalls.master
index 974cfdf..aa00d3b 100644
--- a/sys/kern/syscalls.master
+++ b/sys/kern/syscalls.master
@@ -25,10 +25,10 @@
; types:
; STD always included
; COMPAT included on COMPAT #ifdef
-; COMPAT4 included on COMPAT4 #ifdef (FreeBSD 4 compat)
-; COMPAT6 included on COMPAT6 #ifdef (FreeBSD 6 compat)
-; COMPAT7 included on COMPAT7 #ifdef (FreeBSD 7 compat)
-; COMPAT10 included on COMPAT7 #ifdef (FreeBSD 10 compat)
+; COMPAT4 included on COMPAT_FREEBSD4 #ifdef (FreeBSD 4 compat)
+; COMPAT6 included on COMPAT_FREEBSD6 #ifdef (FreeBSD 6 compat)
+; COMPAT7 included on COMPAT_FREEBSD7 #ifdef (FreeBSD 7 compat)
+; COMPAT10 included on COMPAT_FREEBSD10 #ifdef (FreeBSD 10 compat)
; OBSOL obsolete, not included in system, only specifies name
; UNIMPL not implemented, placeholder only
; NOSTD implemented but as a lkm that can be statically
diff --git a/sys/opencrypto/xform_aes_icm.c b/sys/opencrypto/xform_aes_icm.c
index f4ce885..8d3694f 100644
--- a/sys/opencrypto/xform_aes_icm.c
+++ b/sys/opencrypto/xform_aes_icm.c
@@ -65,7 +65,7 @@ struct enc_xform enc_xform_aes_icm = {
aes_icm_crypt,
aes_icm_crypt,
aes_icm_setkey,
- rijndael128_zerokey,
+ aes_icm_zerokey,
aes_icm_reinit,
};
diff --git a/sys/sys/syscall.h b/sys/sys/syscall.h
index accd20c..2db6c64 100644
--- a/sys/sys/syscall.h
+++ b/sys/sys/syscall.h
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: head/sys/kern/syscalls.master 302094 2016-06-22 21:15:59Z brooks
+ * created from FreeBSD: stable/11/sys/kern/syscalls.master 303854 2016-08-08 20:23:11Z bdrewery
*/
#define SYS_syscall 0
@@ -48,7 +48,7 @@
#define SYS_getppid 39
/* 40 is old lstat */
#define SYS_dup 41
- /* 42 is freebsd10 pipe */
+#define SYS_freebsd10_pipe 42
#define SYS_getegid 43
#define SYS_profil 44
#define SYS_ktrace 45
diff --git a/sys/sys/syscall.mk b/sys/sys/syscall.mk
index f2a8f91..13e4523 100644
--- a/sys/sys/syscall.mk
+++ b/sys/sys/syscall.mk
@@ -1,7 +1,7 @@
# FreeBSD system call object files.
# DO NOT EDIT-- this file is automatically generated.
# $FreeBSD$
-# created from FreeBSD: head/sys/kern/syscalls.master 302094 2016-06-22 21:15:59Z brooks
+# created from FreeBSD: stable/11/sys/kern/syscalls.master 303854 2016-08-08 20:23:11Z bdrewery
MIASM = \
syscall.o \
exit.o \
@@ -39,6 +39,7 @@ MIASM = \
kill.o \
getppid.o \
dup.o \
+ freebsd10_pipe.o \
getegid.o \
profil.o \
ktrace.o \
diff --git a/sys/sys/sysproto.h b/sys/sys/sysproto.h
index 60c95b2..5dc114b 100644
--- a/sys/sys/sysproto.h
+++ b/sys/sys/sysproto.h
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: head/sys/kern/syscalls.master 302094 2016-06-22 21:15:59Z brooks
+ * created from FreeBSD: stable/11/sys/kern/syscalls.master 303854 2016-08-08 20:23:11Z bdrewery
*/
#ifndef _SYS_SYSPROTO_H_
diff --git a/usr.bin/grep/regex/tre-fastmatch.c b/usr.bin/grep/regex/tre-fastmatch.c
index 0881c55..08e17c7 100644
--- a/usr.bin/grep/regex/tre-fastmatch.c
+++ b/usr.bin/grep/regex/tre-fastmatch.c
@@ -621,7 +621,7 @@ tre_compile_fast(fastmatch_t *fg, const tre_char_t *pat, size_t n,
case TRE_CHAR('+'):
case TRE_CHAR('?'):
if ((cflags & REG_EXTENDED) && (i == 0))
- continue;
+ goto badpat;
else if ((cflags & REG_EXTENDED) ^ !escaped)
STORE_CHAR;
else
OpenPOWER on IntegriCloud