mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-08 12:58:12 -04:00
Merge "mm: usercopy: skip stack page span check"
This commit is contained in:
commit
0100b2ce16
1 changed files with 6 additions and 0 deletions
|
|
@ -164,6 +164,8 @@ static inline void check_page_span(const void *ptr, unsigned long n,
|
|||
const void *end = ptr + n - 1;
|
||||
struct page *endpage;
|
||||
bool is_reserved, is_cma;
|
||||
const void * const stack = task_stack_page(current);
|
||||
const void * const stackend = stack + THREAD_SIZE;
|
||||
|
||||
/*
|
||||
* Sometimes the kernel data regions are not marked Reserved (see
|
||||
|
|
@ -188,6 +190,10 @@ static inline void check_page_span(const void *ptr, unsigned long n,
|
|||
end <= (const void *)__bss_stop)
|
||||
return;
|
||||
|
||||
/* Allow stack region to span multiple pages */
|
||||
if (ptr >= stack && end <= stackend)
|
||||
return;
|
||||
|
||||
/* Is the object wholly within one base page? */
|
||||
if (likely(((unsigned long)ptr & (unsigned long)PAGE_MASK) ==
|
||||
((unsigned long)end & (unsigned long)PAGE_MASK)))
|
||||
|
|
|
|||
Loading…
Reference in a new issue