sys: don't hold uts_sem while accessing userspace memory
authorJann Horn <jannh@google.com>
Mon, 25 Jun 2018 16:34:10 +0000 (18:34 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 9 Sep 2018 18:01:24 +0000 (20:01 +0200)
commit55463c60b7d56e98936abfd092b4983dd010df50
tree2d4d320606408356b5bfb4f54ac5ab278545c404
parentd2f96e17ca75f183cfd50ff0b6655fb74e502a1e
sys: don't hold uts_sem while accessing userspace memory

commit 42a0cc3478584d4d63f68f2f5af021ddbea771fa upstream.

Holding uts_sem as a writer while accessing userspace memory allows a
namespace admin to stall all processes that attempt to take uts_sem.
Instead, move data through stack buffers and don't access userspace memory
while uts_sem is held.

Cc: stable@vger.kernel.org
Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Jann Horn <jannh@google.com>
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/alpha/kernel/osf_sys.c
arch/sparc/kernel/sys_sparc_32.c
arch/sparc/kernel/sys_sparc_64.c
kernel/sys.c
kernel/utsname_sysctl.c