aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGleb Smirnoff <glebius@FreeBSD.org>2016-05-31 16:55:45 +0000
committerGleb Smirnoff <glebius@FreeBSD.org>2016-05-31 16:55:45 +0000
commit3b6d05264f164de15224257803c5e9b9d331dbd8 (patch)
tree9bfd3fda77e0f9a336db7e753e134701bd842d2a
parent1bbb0c778c67fece88be9e3123ca29bf7015eeaf (diff)
downloadsrc-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--UPDATING8
-rw-r--r--sys/compat/linux/linux_ioctl.c2
-rw-r--r--sys/compat/linux/linux_misc.c1
-rw-r--r--sys/conf/newvers.sh2
-rw-r--r--sys/kern/vfs_syscalls.c1
5 files changed, 13 insertions, 1 deletions
diff --git a/UPDATING b/UPDATING
index 943f169c489f..fc4d2d912791 100644
--- a/UPDATING
+++ b/UPDATING
@@ -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;