Lines 3245-3251
Link Here
|
3245 |
int ret; |
3245 |
int ret; |
3246 |
|
3246 |
|
3247 |
down_read(¤t->mm->mmap_sem); |
3247 |
down_read(¤t->mm->mmap_sem); |
|
|
3248 |
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0) |
3249 |
ret = get_user_pages(vaddr, page_cnt, 1, 0, (struct page **)page_list, NULL); |
3250 |
#else |
3248 |
ret = get_user_pages(current, current->mm, vaddr, page_cnt, 1, 0, (struct page **)page_list, NULL); |
3251 |
ret = get_user_pages(current, current->mm, vaddr, page_cnt, 1, 0, (struct page **)page_list, NULL); |
|
|
3252 |
#endif |
3249 |
up_read(¤t->mm->mmap_sem); |
3253 |
up_read(¤t->mm->mmap_sem); |
3250 |
|
3254 |
|
3251 |
return ret; |
3255 |
return ret; |
Lines 3263-3269
Link Here
|
3263 |
int ret; |
3267 |
int ret; |
3264 |
|
3268 |
|
3265 |
down_read(¤t->mm->mmap_sem); |
3269 |
down_read(¤t->mm->mmap_sem); |
|
|
3270 |
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0) |
3271 |
ret = get_user_pages(vaddr, page_cnt, 0, 0, (struct page **)page_list, NULL); |
3272 |
#else |
3266 |
ret = get_user_pages(current, current->mm, vaddr, page_cnt, 0, 0, (struct page **)page_list, NULL); |
3273 |
ret = get_user_pages(current, current->mm, vaddr, page_cnt, 0, 0, (struct page **)page_list, NULL); |
|
|
3274 |
#endif |
3267 |
up_read(¤t->mm->mmap_sem); |
3275 |
up_read(¤t->mm->mmap_sem); |
3268 |
|
3276 |
|
3269 |
return ret; |
3277 |
return ret; |
Lines 3274-3280
Link Here
|
3274 |
unsigned int i; |
3282 |
unsigned int i; |
3275 |
for (i=0; i<page_cnt; i++) |
3283 |
for (i=0; i<page_cnt; i++) |
3276 |
{ |
3284 |
{ |
|
|
3285 |
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0) |
3286 |
put_page((struct page*)page_list[i]); |
3287 |
#else |
3277 |
page_cache_release((struct page*)page_list[i]); |
3288 |
page_cache_release((struct page*)page_list[i]); |
|
|
3289 |
#endif |
3278 |
} |
3290 |
} |
3279 |
} |
3291 |
} |
3280 |
|
3292 |
|