|
@@ -178,7 +178,7 @@ do { \
|
|
|
long __pu_err; \
|
|
|
__typeof__(*(ptr)) __user *__pu_addr = (ptr); \
|
|
|
if (!is_kernel_addr((unsigned long)__pu_addr)) \
|
|
|
- might_sleep(); \
|
|
|
+ might_fault(); \
|
|
|
__chk_user_ptr(ptr); \
|
|
|
__put_user_size((x), __pu_addr, (size), __pu_err); \
|
|
|
__pu_err; \
|
|
@@ -188,7 +188,7 @@ do { \
|
|
|
({ \
|
|
|
long __pu_err = -EFAULT; \
|
|
|
__typeof__(*(ptr)) __user *__pu_addr = (ptr); \
|
|
|
- might_sleep(); \
|
|
|
+ might_fault(); \
|
|
|
if (access_ok(VERIFY_WRITE, __pu_addr, size)) \
|
|
|
__put_user_size((x), __pu_addr, (size), __pu_err); \
|
|
|
__pu_err; \
|
|
@@ -268,7 +268,7 @@ do { \
|
|
|
const __typeof__(*(ptr)) __user *__gu_addr = (ptr); \
|
|
|
__chk_user_ptr(ptr); \
|
|
|
if (!is_kernel_addr((unsigned long)__gu_addr)) \
|
|
|
- might_sleep(); \
|
|
|
+ might_fault(); \
|
|
|
__get_user_size(__gu_val, __gu_addr, (size), __gu_err); \
|
|
|
(x) = (__typeof__(*(ptr)))__gu_val; \
|
|
|
__gu_err; \
|
|
@@ -282,7 +282,7 @@ do { \
|
|
|
const __typeof__(*(ptr)) __user *__gu_addr = (ptr); \
|
|
|
__chk_user_ptr(ptr); \
|
|
|
if (!is_kernel_addr((unsigned long)__gu_addr)) \
|
|
|
- might_sleep(); \
|
|
|
+ might_fault(); \
|
|
|
__get_user_size(__gu_val, __gu_addr, (size), __gu_err); \
|
|
|
(x) = (__typeof__(*(ptr)))__gu_val; \
|
|
|
__gu_err; \
|
|
@@ -294,7 +294,7 @@ do { \
|
|
|
long __gu_err = -EFAULT; \
|
|
|
unsigned long __gu_val = 0; \
|
|
|
const __typeof__(*(ptr)) __user *__gu_addr = (ptr); \
|
|
|
- might_sleep(); \
|
|
|
+ might_fault(); \
|
|
|
if (access_ok(VERIFY_READ, __gu_addr, (size))) \
|
|
|
__get_user_size(__gu_val, __gu_addr, (size), __gu_err); \
|
|
|
(x) = (__typeof__(*(ptr)))__gu_val; \
|
|
@@ -419,14 +419,14 @@ static inline unsigned long __copy_to_user_inatomic(void __user *to,
|
|
|
static inline unsigned long __copy_from_user(void *to,
|
|
|
const void __user *from, unsigned long size)
|
|
|
{
|
|
|
- might_sleep();
|
|
|
+ might_fault();
|
|
|
return __copy_from_user_inatomic(to, from, size);
|
|
|
}
|
|
|
|
|
|
static inline unsigned long __copy_to_user(void __user *to,
|
|
|
const void *from, unsigned long size)
|
|
|
{
|
|
|
- might_sleep();
|
|
|
+ might_fault();
|
|
|
return __copy_to_user_inatomic(to, from, size);
|
|
|
}
|
|
|
|
|
@@ -434,7 +434,7 @@ extern unsigned long __clear_user(void __user *addr, unsigned long size);
|
|
|
|
|
|
static inline unsigned long clear_user(void __user *addr, unsigned long size)
|
|
|
{
|
|
|
- might_sleep();
|
|
|
+ might_fault();
|
|
|
if (likely(access_ok(VERIFY_WRITE, addr, size)))
|
|
|
return __clear_user(addr, size);
|
|
|
if ((unsigned long)addr < TASK_SIZE) {
|