Merge tag 'usercopy-v4.8-rc6-part2' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 7 Sep 2016 21:03:49 +0000 (14:03 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 7 Sep 2016 21:03:49 +0000 (14:03 -0700)
Pull more hardened usercopyfixes from Kees Cook:

 - force check_object_size() to be inline too

 - move page-spanning check behind a CONFIG since it's triggering false
   positives

[ Changed the page-spanning config option to depend on EXPERT in the
  merge.  That way it still gets build testing, and you can enable it if
  you want to, but is never enabled for "normal" configurations ]

* tag 'usercopy-v4.8-rc6-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
  usercopy: remove page-spanning test for now
  usercopy: force check_object_size() inline

1  2 
security/Kconfig

index da10d9b573a4a809f6159d82660a717f224903ec,2dfc0ce4083e87c7ff45d5bf6e1e3ee3087795e0..118f4549404ef2ed0241e86faceb03f2d3646d79
@@@ -147,6 -147,17 +147,17 @@@ config HARDENED_USERCOP
          or are part of the kernel text. This kills entire classes
          of heap overflow exploits and similar kernel memory exposures.
  
 -      depends on !COMPILE_TEST
+ config HARDENED_USERCOPY_PAGESPAN
+       bool "Refuse to copy allocations that span multiple pages"
+       depends on HARDENED_USERCOPY
++      depends on EXPERT
+       help
+         When a multi-page allocation is done without __GFP_COMP,
+         hardened usercopy will reject attempts to copy it. There are,
+         however, several cases of this in the kernel that have not all
+         been removed. This config is intended to be used only while
+         trying to find such users.
  source security/selinux/Kconfig
  source security/smack/Kconfig
  source security/tomoyo/Kconfig