summaryrefslogtreecommitdiffstats
path: root/kernel/res_counter.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-12-12 09:53:51 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2013-12-12 09:53:51 -0800
commit5cdec2d833748fbd27d3682f7209225c504c79c5 (patch)
tree361baa6aa742bf8f712331c59db9c1b755f0ec35 /kernel/res_counter.c
parentf12d5bfceb7e1f9051563381ec047f7f13956c3c (diff)
downloadlinux-5cdec2d833748fbd27d3682f7209225c504c79c5.tar.bz2
futex: move user address verification up to common code
When debugging the read-only hugepage case, I was confused by the fact that get_futex_key() did an access_ok() only for the non-shared futex case, since the user address checking really isn't in any way specific to the private key handling. Now, it turns out that the shared key handling does effectively do the equivalent checks inside get_user_pages_fast() (it doesn't actually check the address range on x86, but does check the page protections for being a user page). So it wasn't actually a bug, but the fact that we treat the address differently for private and shared futexes threw me for a loop. Just move the check up, so that it gets done for both cases. Also, use the 'rw' parameter for the type, even if it doesn't actually matter any more (it's a historical artifact of the old racy i386 "page faults from kernel space don't check write protections"). Cc: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel/res_counter.c')
0 files changed, 0 insertions, 0 deletions