diff options
author | Gleb Smirnoff <glebius@FreeBSD.org> | 2015-11-04 11:27:30 +0000 |
---|---|---|
committer | Gleb Smirnoff <glebius@FreeBSD.org> | 2015-11-04 11:27:30 +0000 |
commit | d2f49e812c9fe88f6fbfa5bf4f79abb4822e4539 (patch) | |
tree | 5f66f103d1b353306e5d539f23f23742336100df | |
parent | 009e7aaa36cdc634402b808846ff82869c79b076 (diff) |
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-- | UPDATING | 15 | ||||
-rw-r--r-- | sys/conf/newvers.sh | 2 | ||||
-rw-r--r-- | sys/sys/vnode.h | 5 | ||||
-rw-r--r-- | sys/vm/vm_map.c | 14 | ||||
-rw-r--r-- | usr.sbin/ntp/config.h | 2 | ||||
-rw-r--r-- | usr.sbin/ntp/ntpdc/Makefile | 4 | ||||
-rw-r--r-- | usr.sbin/ntp/ntpq/Makefile | 4 |
7 files changed, 28 insertions, 18 deletions
@@ -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} |