summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mm/usercopy.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/mm/usercopy.c b/mm/usercopy.c
index ac8a093e90c1..baeacc735b83 100644
--- a/mm/usercopy.c
+++ b/mm/usercopy.c
@@ -163,9 +163,6 @@ static inline void check_heap_object(const void *ptr, unsigned long n,
{
struct folio *folio;
- if (!virt_addr_valid(ptr))
- return;
-
if (is_kmap_addr(ptr)) {
unsigned long page_end = (unsigned long)ptr | (PAGE_SIZE - 1);
@@ -190,6 +187,9 @@ static inline void check_heap_object(const void *ptr, unsigned long n,
return;
}
+ if (!virt_addr_valid(ptr))
+ return;
+
folio = virt_to_folio(ptr);
if (folio_test_slab(folio)) {