mm: fix cma allocation stuck problem. [1/1]

PD#SWPL-161071

Problem:
cma alloc stuck.

Solution:
add FOLL_LONGTERM flags in pin page.

Verify:
S7.

Change-Id: Id011372a9431e07e69e1ee27ea134acda6959c82
Signed-off-by: Hangyu Li <hangyu.li@amlogic.com>
This commit is contained in:
Hangyu Li
2024-04-07 19:06:06 +08:00
committed by gerrit autosubmit
parent fe9760c96a
commit 56cc55aa8a
+3 -3
View File
@@ -238,7 +238,7 @@ register_shm_helper(struct tee_context *ctx, unsigned long addr,
unsigned long start;
size_t num_pages;
void *ret;
int rc;
long rc;
if (!tee_device_get(teedev))
return ERR_PTR(-EINVAL);
@@ -273,8 +273,8 @@ register_shm_helper(struct tee_context *ctx, unsigned long addr,
}
if (flags & TEE_SHM_USER_MAPPED)
rc = pin_user_pages_fast(start, num_pages, FOLL_WRITE,
shm->pages);
rc = pin_user_pages(start, num_pages, FOLL_WRITE | FOLL_LONGTERM,
shm->pages, NULL);
else
rc = shm_get_kernel_pages(start, num_pages, shm->pages);
if (rc > 0)