]> git.baikalelectronics.ru Git - kernel.git/commit
arm64: uaccess: Don't bother eliding access_ok checks in __{get, put}_user
authorWill Deacon <will.deacon@arm.com>
Mon, 5 Feb 2018 15:34:22 +0000 (15:34 +0000)
committerCatalin Marinas <catalin.marinas@arm.com>
Tue, 6 Feb 2018 22:53:39 +0000 (22:53 +0000)
commitbd610c7ef14d3ac110ec815872257d4fae661dfc
tree0f50e8eab78b53f0953ba57488777d66222214f5
parentdef827c731e452a0b0e9e5ee2519d9faf08eef99
arm64: uaccess: Don't bother eliding access_ok checks in __{get, put}_user

access_ok isn't an expensive operation once the addr_limit for the current
thread has been loaded into the cache. Given that the initial access_ok
check preceding a sequence of __{get,put}_user operations will take
the brunt of the miss, we can make the __* variants identical to the
full-fat versions, which brings with it the benefits of address masking.

The likely cost in these sequences will be from toggling PAN/UAO, which
we can address later by implementing the *_unsafe versions.

Reviewed-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/include/asm/uaccess.h