]> git.baikalelectronics.ru Git - kernel.git/commit
x86: reorganize SMAP handling in user space accesses
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 17 Dec 2015 17:45:09 +0000 (09:45 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 17 Dec 2015 17:45:09 +0000 (09:45 -0800)
commit6cd7cf83460f6fd1e282b79f23853b8aecc61ac4
treef03420a16608e4a107e03b556ce468741b3a4c82
parentfd42a580fa63f315f3bf99ef9e5a109020d38fc5
x86: reorganize SMAP handling in user space accesses

This reorganizes how we do the stac/clac instructions in the user access
code.  Instead of adding the instructions directly to the same inline
asm that does the actual user level access and exception handling, add
them at a higher level.

This is mainly preparation for the next step, where we will expose an
interface to allow users to mark several accesses together as being user
space accesses, but it does already clean up some code:

 - the inlined trivial cases of copy_in_user() now do stac/clac just
   once over the accesses: they used to do one pair around the user
   space read, and another pair around the write-back.

 - the {get,put}_user_ex() macros that are used with the catch/try
   handling don't do any stac/clac at all, because that happens in the
   try/catch surrounding them.

Other than those two cleanups that happened naturally from the
re-organization, this should not make any difference. Yet.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/x86/include/asm/uaccess.h
arch/x86/include/asm/uaccess_64.h