Kconfig: consolidate CONFIG_DEBUG_STRICT_USER_COPY_CHECKS
authorStephen Boyd <sboyd@codeaurora.org>
Tue, 30 Apr 2013 22:28:42 +0000 (15:28 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 1 May 2013 00:04:09 +0000 (17:04 -0700)
commit446f24d1199e8a546ba7c97da3fbb9a505a94795
tree42c44a565fbdd6f923e0c2403b1c62154acab1b2
parenta05342cbd62b7f6dacb8d71683d799f5e5e694b8
Kconfig: consolidate CONFIG_DEBUG_STRICT_USER_COPY_CHECKS

The help text for this config is duplicated across the x86, parisc, and
s390 Kconfig.debug files.  Arnd Bergman noted that the help text was
slightly misleading and should be fixed to state that enabling this
option isn't a problem when using pre 4.4 gcc.

To simplify the rewording, consolidate the text into lib/Kconfig.debug
and modify it there to be more explicit about when you should say N to
this config.

Also, make the text a bit more generic by stating that this option
enables compile time checks so we can cover architectures which emit
warnings vs.  ones which emit errors.  The details of how an
architecture decided to implement the checks isn't as important as the
concept of compile time checking of copy_from_user() calls.

While we're doing this, remove all the copy_from_user_overflow() code
that's duplicated many times and place it into lib/ so that any
architecture supporting this option can get the function for free.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Ingo Molnar <mingo@kernel.org>
Acked-by: H. Peter Anvin <hpa@zytor.com>
Cc: Arjan van de Ven <arjan@linux.intel.com>
Acked-by: Helge Deller <deller@gmx.de>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Chris Metcalf <cmetcalf@tilera.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 files changed:
arch/parisc/Kconfig
arch/parisc/Kconfig.debug
arch/s390/Kconfig
arch/s390/Kconfig.debug
arch/s390/lib/Makefile
arch/sparc/lib/Makefile
arch/sparc/lib/usercopy.c [deleted file]
arch/tile/Kconfig
arch/tile/include/asm/uaccess.h
arch/tile/lib/uaccess.c
arch/x86/Kconfig
arch/x86/Kconfig.debug
arch/x86/lib/usercopy_32.c
lib/Kconfig.debug
lib/Makefile
lib/usercopy.c [moved from arch/s390/lib/usercopy.c with 73% similarity]