Linus Torvalds 197e7e5213 Sanitize 'move_pages()' permission checks
The 'move_paghes()' system call was introduced long long ago with the
same permission checks as for sending a signal (except using
CAP_SYS_NICE instead of CAP_SYS_KILL for the overriding capability).

That turns out to not be a great choice - while the system call really
only moves physical page allocations around (and you need other
capabilities to do a lot of it), you can check the return value to map
out some the virtual address choices and defeat ASLR of a binary that
still shares your uid.

So change the access checks to the more common 'ptrace_may_access()'
model instead.

This tightens the access checks for the uid, and also effectively
changes the CAP_SYS_NICE check to CAP_SYS_PTRACE, but it's unlikely that
anybody really _uses_ this legacy system call any more (we hav ebetter
NUMA placement models these days), so I expect nobody to notice.

Famous last words.

Reported-by: Otto Ebeling <otto.ebeling@iki.fi>
Acked-by: Eric W. Biederman <ebiederm@xmission.com>
Cc: Willy Tarreau <w@1wt.eu>
Cc: stable@kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-08-20 13:26:27 -07:00
..
2017-06-05 16:59:12 +02:00
2017-07-10 16:32:32 -07:00
2017-04-18 20:41:12 +02:00
2017-08-10 15:54:07 -07:00
2017-02-27 18:43:47 -08:00
2017-08-10 15:54:07 -07:00
2017-08-18 15:32:01 -07:00
2015-09-08 15:35:28 -07:00
2015-11-05 19:34:48 -08:00
2017-08-18 15:32:01 -07:00
2017-08-18 15:32:01 -07:00
2017-05-03 15:52:10 -07:00
2016-03-17 15:09:34 -07:00
2017-08-02 16:34:47 -07:00