|
@@ -858,7 +858,10 @@ extern size_t __copy_user(void *__to, const void *__from, size_t __n);
|
|
|
__cu_to = (to); \
|
|
|
__cu_from = (from); \
|
|
|
__cu_len = (n); \
|
|
|
+ \
|
|
|
+ check_object_size(__cu_from, __cu_len, true); \
|
|
|
might_fault(); \
|
|
|
+ \
|
|
|
if (eva_kernel_access()) \
|
|
|
__cu_len = __invoke_copy_to_kernel(__cu_to, __cu_from, \
|
|
|
__cu_len); \
|
|
@@ -879,6 +882,9 @@ extern size_t __copy_user_inatomic(void *__to, const void *__from, size_t __n);
|
|
|
__cu_to = (to); \
|
|
|
__cu_from = (from); \
|
|
|
__cu_len = (n); \
|
|
|
+ \
|
|
|
+ check_object_size(__cu_from, __cu_len, true); \
|
|
|
+ \
|
|
|
if (eva_kernel_access()) \
|
|
|
__cu_len = __invoke_copy_to_kernel(__cu_to, __cu_from, \
|
|
|
__cu_len); \
|
|
@@ -897,6 +903,9 @@ extern size_t __copy_user_inatomic(void *__to, const void *__from, size_t __n);
|
|
|
__cu_to = (to); \
|
|
|
__cu_from = (from); \
|
|
|
__cu_len = (n); \
|
|
|
+ \
|
|
|
+ check_object_size(__cu_to, __cu_len, false); \
|
|
|
+ \
|
|
|
if (eva_kernel_access()) \
|
|
|
__cu_len = __invoke_copy_from_kernel_inatomic(__cu_to, \
|
|
|
__cu_from,\
|
|
@@ -931,6 +940,9 @@ extern size_t __copy_user_inatomic(void *__to, const void *__from, size_t __n);
|
|
|
__cu_to = (to); \
|
|
|
__cu_from = (from); \
|
|
|
__cu_len = (n); \
|
|
|
+ \
|
|
|
+ check_object_size(__cu_from, __cu_len, true); \
|
|
|
+ \
|
|
|
if (eva_kernel_access()) { \
|
|
|
__cu_len = __invoke_copy_to_kernel(__cu_to, \
|
|
|
__cu_from, \
|
|
@@ -1123,6 +1135,9 @@ extern size_t __copy_in_user_eva(void *__to, const void *__from, size_t __n);
|
|
|
__cu_to = (to); \
|
|
|
__cu_from = (from); \
|
|
|
__cu_len = (n); \
|
|
|
+ \
|
|
|
+ check_object_size(__cu_to, __cu_len, false); \
|
|
|
+ \
|
|
|
if (eva_kernel_access()) { \
|
|
|
__cu_len = __invoke_copy_from_kernel(__cu_to, \
|
|
|
__cu_from, \
|
|
@@ -1161,6 +1176,9 @@ extern size_t __copy_in_user_eva(void *__to, const void *__from, size_t __n);
|
|
|
__cu_to = (to); \
|
|
|
__cu_from = (from); \
|
|
|
__cu_len = (n); \
|
|
|
+ \
|
|
|
+ check_object_size(__cu_to, __cu_len, false); \
|
|
|
+ \
|
|
|
if (eva_kernel_access()) { \
|
|
|
__cu_len = __invoke_copy_from_kernel(__cu_to, \
|
|
|
__cu_from, \
|