diff options
author | Gleb Smirnoff <glebius@FreeBSD.org> | 2016-05-31 16:55:45 +0000 |
---|---|---|
committer | Gleb Smirnoff <glebius@FreeBSD.org> | 2016-05-31 16:55:45 +0000 |
commit | 3b6d05264f164de15224257803c5e9b9d331dbd8 (patch) | |
tree | 9bfd3fda77e0f9a336db7e753e134701bd842d2a | |
parent | 1bbb0c778c67fece88be9e3123ca29bf7015eeaf (diff) | |
download | src-3b6d05264f164de15224257803c5e9b9d331dbd8.tar.gz src-3b6d05264f164de15224257803c5e9b9d331dbd8.zip |
Fix kernel stack disclosure in Linux compatibility layer. [SA-16:20]
Fix kernel stack disclosure in 4.3BSD compatibility layer. [SA-16:21]
Security: SA-16:20
Security: SA-16:21
Approved by: so
Notes
Notes:
svn path=/releng/10.2/; revision=301051
-rw-r--r-- | UPDATING | 8 | ||||
-rw-r--r-- | sys/compat/linux/linux_ioctl.c | 2 | ||||
-rw-r--r-- | sys/compat/linux/linux_misc.c | 1 | ||||
-rw-r--r-- | sys/conf/newvers.sh | 2 | ||||
-rw-r--r-- | sys/kern/vfs_syscalls.c | 1 |
5 files changed, 13 insertions, 1 deletions
@@ -16,6 +16,14 @@ from older versions of FreeBSD, try WITHOUT_CLANG to bootstrap to the tip of stable/10, and then rebuild without this option. The bootstrap process from older version of current is a bit fragile. +20160531 p18 FreeBSD-SA-16:20.linux + FreeBSD-SA-16:21.43bsd + FreeBSD-SA-16:22.libarchive + + Fix kernel stack disclosure in Linux compatibility layer. [SA-16:20] + Fix kernel stack disclosure in 4.3BSD compatibility layer. [SA-16:21] + Fix directory traversal in cpio(1). [SA-16:22] + 20160517 p17 FreeBSD-SA-16:18.atkbd FreeBSD-SA-16:19.sendmsg diff --git a/sys/compat/linux/linux_ioctl.c b/sys/compat/linux/linux_ioctl.c index ab95e644059f..fa546464d499 100644 --- a/sys/compat/linux/linux_ioctl.c +++ b/sys/compat/linux/linux_ioctl.c @@ -919,6 +919,8 @@ linux_ioctl_termio(struct thread *td, struct linux_ioctl_args *args) case LINUX_TIOCGSERIAL: { struct linux_serial_struct lss; + + bzero(&lss, sizeof(lss)); lss.type = LINUX_PORT_16550A; lss.flags = 0; lss.close_delay = 0; diff --git a/sys/compat/linux/linux_misc.c b/sys/compat/linux/linux_misc.c index dbfeca6002d9..fa32818f2410 100644 --- a/sys/compat/linux/linux_misc.c +++ b/sys/compat/linux/linux_misc.c @@ -138,6 +138,7 @@ linux_sysinfo(struct thread *td, struct linux_sysinfo_args *args) int i, j; struct timespec ts; + bzero(&sysinfo, sizeof(sysinfo)); getnanouptime(&ts); if (ts.tv_nsec != 0) ts.tv_sec++; diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index 2d2b64e6af3a..753c6e5787b4 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -32,7 +32,7 @@ TYPE="FreeBSD" REVISION="10.2" -BRANCH="RELEASE-p17" +BRANCH="RELEASE-p18" if [ "X${BRANCH_OVERRIDE}" != "X" ]; then BRANCH=${BRANCH_OVERRIDE} fi diff --git a/sys/kern/vfs_syscalls.c b/sys/kern/vfs_syscalls.c index 072a8adb5bf4..000f4ee1b9e6 100644 --- a/sys/kern/vfs_syscalls.c +++ b/sys/kern/vfs_syscalls.c @@ -2195,6 +2195,7 @@ cvtstat(st, ost) struct ostat *ost; { + bzero(ost, sizeof(*ost)); ost->st_dev = st->st_dev; ost->st_ino = st->st_ino; ost->st_mode = st->st_mode; |