Use the new batched user accesses in generic user string handling
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 17 Dec 2015 18:05:19 +0000 (10:05 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 17 Dec 2015 18:05:19 +0000 (10:05 -0800)
commit9fd4470ff4974c41b1db43c3b355b9085af9c12a
tree68a9c479852bf8e1603262f32bfda48e2f6409a9
parent5b24a7a2aa2040c8c50c3b71122901d01661ff78
Use the new batched user accesses in generic user string handling

This converts the generic user string functions to use the batched user
access functions.

It makes a big difference on Skylake, which is the first x86
microarchitecture to implement SMAP.  The STAC/CLAC instructions are not
very fast, and doing them for each access inside the loop that copies
strings from user space (which is what the pathname handling does for
every pathname the kernel uses, for example) is very inefficient.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
lib/strncpy_from_user.c
lib/strnlen_user.c