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)
committerEric W. Biederman <ebiederm@xmission.com>
Sat, 11 Aug 2018 07:05:53 +0000 (02:05 -0500)
commit42a0cc3478584d4d63f68f2f5af021ddbea771fa
tree8dc33625ea1c8488e01965f159ef3f597eba42cb
parent5820f140edef111a9ea2ef414ab2428b8cb805b1
sys: don't hold uts_sem while accessing userspace memory

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>
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