}
down_read(&mm->mmap_sem);
- status = get_user_pages(curr_task, mm, uaddr, num_pages, write, 1,
+ status = get_user_pages(uaddr, num_pages, write, 1,
mapped_pages, NULL);
up_read(&mm->mmap_sem);
} else {
pr_err("Failed to pin user pages\n");
for (pgidx = 0; pgidx < status; pgidx++) {
- page_cache_release(mapped_pages[pgidx]);
+ put_page(mapped_pages[pgidx]);
}
return -ENOMEM;
}
for (i = 0; i < cnt; i++) {
pg = sg_page(sglist + i);
if (pg) {
- page_cache_release(pg);
+ put_page(pg);
}
}
}
down_read(¤t->mm->mmap_sem);
locked_page_count =
- get_user_pages(current,
- current->mm,
- first_page * PAGE_SIZE,
+ get_user_pages(first_page * PAGE_SIZE,
t->sg_list_size, 1, 1,
xlnk_page_store, NULL);
up_read(¤t->mm->mmap_sem);
pr_err("could not get user pages");
for (i = 0; i < locked_page_count; i++)
- page_cache_release(xlnk_page_store[i]);
+ put_page(xlnk_page_store[i]);
kfree(t->sg_list);
vfree(t);
return -EFAULT;
pr_err("could not map user pages");
for (i = 0; i < locked_page_count; i++)
- page_cache_release(xlnk_page_store[i]);
+ put_page(xlnk_page_store[i]);
kfree(t->sg_list);
vfree(t);
return -EFAULT;
t->sg_list_size,
t->transfer_direction);
for (i = 0; i < t->sg_list_size; i++)
- page_cache_release(sg_page(t->sg_list + i));
+ put_page(sg_page(t->sg_list + i));
}
kfree(t->sg_list);
vfree(t);