sched_setattr: switch to copy_struct_from_user()
authorAleksa Sarai <cyphar@cyphar.com>
Tue, 1 Oct 2019 01:10:54 +0000 (11:10 +1000)
committerChristian Brauner <christian.brauner@ubuntu.com>
Tue, 1 Oct 2019 13:45:17 +0000 (15:45 +0200)
commitdff3a85feceade213daf153556fd32a3b0a73c63
treee532439d4ce82a284eeffc133e90ff18a6fc895f
parentf14c234b4bc5184fd40d9a47830e5b32c3b36d49
sched_setattr: switch to copy_struct_from_user()

Switch sched_setattr() syscall from it's own copying struct sched_attr
from userspace to the new dedicated copy_struct_from_user() helper.

The change is very straightforward, and helps unify the syscall
interface for struct-from-userspace syscalls. Ideally we could also
unify sched_getattr(2)-style syscalls as well, but unfortunately the
correct semantics for such syscalls are much less clear (see [1] for
more detail). In future we could come up with a more sane idea for how
the syscall interface should look.

[1]: commit 1251201c0d34 ("sched/core: Fix uclamp ABI bug, clean up and
     robustify sched_read_attr() ABI logic and code")

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Christian Brauner <christian.brauner@ubuntu.com>
[christian.brauner@ubuntu.com: improve commit message]
Link: https://lore.kernel.org/r/20191001011055.19283-4-cyphar@cyphar.com
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
kernel/sched/core.c