summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorglebius <glebius@FreeBSD.org>2016-05-31 16:55:41 +0000
committerglebius <glebius@FreeBSD.org>2016-05-31 16:55:41 +0000
commit317e69eb8f1ef3aec35d7915f591340d07c97771 (patch)
tree59274993ef23627f03abe46fada63b2d3c9c09a5
parent20397f137122473b3c31898ee90adbb2573257ab (diff)
downloadFreeBSD-src-317e69eb8f1ef3aec35d7915f591340d07c97771.zip
FreeBSD-src-317e69eb8f1ef3aec35d7915f591340d07c97771.tar.gz
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
-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 2e33b54..bc09113 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 p35 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 p34 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 43532c6..827849e 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 dbfeca6..fa32818 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 2284778..55d91e7 100644
--- a/sys/conf/newvers.sh
+++ b/sys/conf/newvers.sh
@@ -32,7 +32,7 @@
TYPE="FreeBSD"
REVISION="10.1"
-BRANCH="RELEASE-p34"
+BRANCH="RELEASE-p35"
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 15d0df6..0c9a061 100644
--- a/sys/kern/vfs_syscalls.c
+++ b/sys/kern/vfs_syscalls.c
@@ -2181,6 +2181,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;
OpenPOWER on IntegriCloud