aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGleb Smirnoff <glebius@FreeBSD.org>2015-11-04 11:27:30 +0000
committerGleb Smirnoff <glebius@FreeBSD.org>2015-11-04 11:27:30 +0000
commitd2f49e812c9fe88f6fbfa5bf4f79abb4822e4539 (patch)
tree5f66f103d1b353306e5d539f23f23742336100df
parent009e7aaa36cdc634402b808846ff82869c79b076 (diff)
downloadsrc-d2f49e812c9fe88f6fbfa5bf4f79abb4822e4539.tar.gz
src-d2f49e812c9fe88f6fbfa5bf4f79abb4822e4539.zip
o Fix regressions related to SA-15:25 upgrade of NTP. [1]
o Fix kqueue write events never fired for files greater 2GB. [2] o Fix kpplications exiting due to segmentation violation on a correct memory address. [3] PR: 204046 [1] PR: 204203 [1] Errata Notice: FreeBSD-EN-15:19.kqueue [2] Errata Notice: FreeBSD-EN-15:20.vm [3] Approved by: so
Notes
Notes: svn path=/releng/9.3/; revision=290363
-rw-r--r--UPDATING15
-rw-r--r--sys/conf/newvers.sh2
-rw-r--r--sys/sys/vnode.h5
-rw-r--r--sys/vm/vm_map.c14
-rw-r--r--usr.sbin/ntp/config.h2
-rw-r--r--usr.sbin/ntp/ntpdc/Makefile4
-rw-r--r--usr.sbin/ntp/ntpq/Makefile4
7 files changed, 28 insertions, 18 deletions
diff --git a/UPDATING b/UPDATING
index f5540a431364..2a395bd785a9 100644
--- a/UPDATING
+++ b/UPDATING
@@ -11,6 +11,21 @@ handbook:
Items affecting the ports and packages system can be found in
/usr/ports/UPDATING. Please read that file before running portupgrade.
+20151104 p30 FreeBSD-SA-15:25.ntp [revised]
+ FreeBSD-EN-15:19.kqueue
+ FreeBSD-EN-15:20.vm
+
+ Fix regression of ntpq(8) utility exiting due to trap 6 in
+ 9.3-RELEASE-p29. [SA-15:25]
+
+ Fix regression in ntpd(8) lacking support for RAWDCF reference
+ clock in 9.3-RELEASE-p29. [SA-15:25]
+
+ Fix kqueue write events never fired for files greater 2GB. [EN-15:19]
+
+ Fix applications exiting due to segmentation violation on a correct
+ memory address. [EN-15:20]
+
20151026: p29 FreeBSD-SA-15:25.ntp
Fix multiple NTP vulnerabilities. New NTP version is 4.2.8p4.
diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh
index b0def081d26a..595f00209026 100644
--- a/sys/conf/newvers.sh
+++ b/sys/conf/newvers.sh
@@ -32,7 +32,7 @@
TYPE="FreeBSD"
REVISION="9.3"
-BRANCH="RELEASE-p29"
+BRANCH="RELEASE-p30"
if [ "X${BRANCH_OVERRIDE}" != "X" ]; then
BRANCH=${BRANCH_OVERRIDE}
fi
diff --git a/sys/sys/vnode.h b/sys/sys/vnode.h
index e1f910c5eca1..23d47e0a931b 100644
--- a/sys/sys/vnode.h
+++ b/sys/sys/vnode.h
@@ -768,7 +768,8 @@ void vop_rename_fail(struct vop_rename_args *ap);
#define VOP_WRITE_PRE(ap) \
struct vattr va; \
- int error, osize, ooffset, noffset; \
+ int error; \
+ off_t osize, ooffset, noffset; \
\
osize = ooffset = noffset = 0; \
if (!VN_KNLIST_EMPTY((ap)->a_vp)) { \
@@ -776,7 +777,7 @@ void vop_rename_fail(struct vop_rename_args *ap);
if (error) \
return (error); \
ooffset = (ap)->a_uio->uio_offset; \
- osize = va.va_size; \
+ osize = (off_t)va.va_size; \
}
#define VOP_WRITE_POST(ap, ret) \
diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c
index cdb96ad93341..e4289f203335 100644
--- a/sys/vm/vm_map.c
+++ b/sys/vm/vm_map.c
@@ -3878,12 +3878,10 @@ RetryLookup:;
vm_map_unlock_read(map);
return (KERN_PROTECTION_FAILURE);
}
- if ((entry->eflags & MAP_ENTRY_USER_WIRED) &&
- (entry->eflags & MAP_ENTRY_COW) &&
- (fault_type & VM_PROT_WRITE)) {
- vm_map_unlock_read(map);
- return (KERN_PROTECTION_FAILURE);
- }
+ KASSERT((prot & VM_PROT_WRITE) == 0 || (entry->eflags &
+ (MAP_ENTRY_USER_WIRED | MAP_ENTRY_NEEDS_COPY)) !=
+ (MAP_ENTRY_USER_WIRED | MAP_ENTRY_NEEDS_COPY),
+ ("entry %p flags %x", entry, entry->eflags));
if ((fault_typea & VM_PROT_COPY) != 0 &&
(entry->max_protection & VM_PROT_WRITE) == 0 &&
(entry->eflags & MAP_ENTRY_COW) == 0) {
@@ -4037,10 +4035,6 @@ vm_map_lookup_locked(vm_map_t *var_map, /* IN/OUT */
fault_type &= VM_PROT_READ | VM_PROT_WRITE | VM_PROT_EXECUTE;
if ((fault_type & prot) != fault_type)
return (KERN_PROTECTION_FAILURE);
- if ((entry->eflags & MAP_ENTRY_USER_WIRED) &&
- (entry->eflags & MAP_ENTRY_COW) &&
- (fault_type & VM_PROT_WRITE))
- return (KERN_PROTECTION_FAILURE);
/*
* If this page is not pageable, we have to get it for all possible
diff --git a/usr.sbin/ntp/config.h b/usr.sbin/ntp/config.h
index 329b26d1e1da..ef4717ff2ac0 100644
--- a/usr.sbin/ntp/config.h
+++ b/usr.sbin/ntp/config.h
@@ -120,7 +120,7 @@
#define CLOCK_PST 1
/* DCF77 raw time code */
-/* #undef CLOCK_RAWDCF */
+#define CLOCK_RAWDCF 1
/* RCC 8000 clock */
/* #undef CLOCK_RCC8000 */
diff --git a/usr.sbin/ntp/ntpdc/Makefile b/usr.sbin/ntp/ntpdc/Makefile
index 802fc21894e7..c2e75aae2b51 100644
--- a/usr.sbin/ntp/ntpdc/Makefile
+++ b/usr.sbin/ntp/ntpdc/Makefile
@@ -17,8 +17,8 @@ CFLAGS+= -I${.CURDIR}/../../../contrib/ntp/include \
-I${.CURDIR}/../../../lib/libc/${MACHINE_ARCH} \
-I${.CURDIR}/../ -I${.CURDIR}
-DPADD= ${LIBNTP} ${LIBM} ${LIBOPTS} ${LIBEDIT} ${LIBTERMCAP}
-LDADD= ${LIBNTP} -lm ${LIBOPTS} -ledit -ltermcap
+DPADD= ${LIBNTP} ${LIBM} ${LIBOPTS} ${LIBEDIT} ${LIBTERMCAP} ${LIBPTHREAD}
+LDADD= ${LIBNTP} -lm ${LIBOPTS} -ledit -ltermcap -lpthread
CFLAGS+= -DHAVE_LIBEDIT -DHAVE_READLINE_READLINE_H \
-I${DESTDIR}/${INCLUDEDIR}/edit
diff --git a/usr.sbin/ntp/ntpq/Makefile b/usr.sbin/ntp/ntpq/Makefile
index e1273d04b7d2..c6715a3252fe 100644
--- a/usr.sbin/ntp/ntpq/Makefile
+++ b/usr.sbin/ntp/ntpq/Makefile
@@ -20,8 +20,8 @@ CFLAGS+= -I${.CURDIR}/../../../contrib/ntp/include \
-I${.CURDIR}/../../../contrib/ntp/sntp/libopts \
-I${.CURDIR}/../
-DPADD= ${LIBEDIT} ${LIBNTP} ${LIBM} ${LIBOPTS}
-LDADD= -ledit ${LIBNTP} -lm ${LIBOPTS}
+DPADD= ${LIBEDIT} ${LIBNTP} ${LIBM} ${LIBOPTS} ${LIBPTHREAD}
+LDADD= -ledit ${LIBNTP} -lm ${LIBOPTS} -lpthread
.if ${MK_OPENSSL} != "no"
DPADD+= ${LIBCRYPTO}