Merge branch 'linus' into x86/asm, to pick up recent fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
@@ -4,7 +4,6 @@
|
||||
config TILE
|
||||
def_bool y
|
||||
select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
|
||||
select ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS
|
||||
select ARCH_HAS_DEVMEM_IS_ALLOWED
|
||||
select ARCH_HAVE_NMI_SAFE_CMPXCHG
|
||||
select ARCH_WANT_FRAME_POINTERS
|
||||
|
@@ -416,14 +416,13 @@ _copy_from_user(void *to, const void __user *from, unsigned long n)
|
||||
return n;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_DEBUG_STRICT_USER_COPY_CHECKS
|
||||
/*
|
||||
* There are still unprovable places in the generic code as of 2.6.34, so this
|
||||
* option is not really compatible with -Werror, which is more useful in
|
||||
* general.
|
||||
*/
|
||||
extern void copy_from_user_overflow(void)
|
||||
__compiletime_warning("copy_from_user() size is not provably correct");
|
||||
extern void __compiletime_error("usercopy buffer size is too small")
|
||||
__bad_copy_user(void);
|
||||
|
||||
static inline void copy_user_overflow(int size, unsigned long count)
|
||||
{
|
||||
WARN(1, "Buffer overflow detected (%d < %lu)!\n", size, count);
|
||||
}
|
||||
|
||||
static inline unsigned long __must_check copy_from_user(void *to,
|
||||
const void __user *from,
|
||||
@@ -433,14 +432,13 @@ static inline unsigned long __must_check copy_from_user(void *to,
|
||||
|
||||
if (likely(sz == -1 || sz >= n))
|
||||
n = _copy_from_user(to, from, n);
|
||||
else if (!__builtin_constant_p(n))
|
||||
copy_user_overflow(sz, n);
|
||||
else
|
||||
copy_from_user_overflow();
|
||||
__bad_copy_user();
|
||||
|
||||
return n;
|
||||
}
|
||||
#else
|
||||
#define copy_from_user _copy_from_user
|
||||
#endif
|
||||
|
||||
#ifdef __tilegx__
|
||||
/**
|
||||
|
Reference in New Issue
Block a user