@@ -2930,7 +2930,7 @@ static int cryptocop_ioctl_process(struct inode *inode, struct file *filp, unsig
for (i = 0; i < nooutpages; i++){
int spdl_err;
/* Mark output pages dirty. */
- spdl_err = set_page_dirty_lock(outpages[i]);
+ spdl_err = set_page_dirty_lock(NULL, outpages[i]);
DEBUG(if (spdl_err < 0)printk("cryptocop_ioctl_process: set_page_dirty_lock returned %d\n", spdl_err));
}
for (i = 0; i < nooutpages; i++){
@@ -482,7 +482,7 @@ int kvmppc_book3s_radix_page_fault(struct kvm_run *run, struct kvm_vcpu *vcpu,
if (page) {
if (!ret && (pgflags & _PAGE_WRITE))
- set_page_dirty_lock(page);
+ set_page_dirty_lock(NULL, page);
put_page(page);
}
@@ -556,7 +556,8 @@ static void free_gtlb(struct kvmppc_vcpu_e500 *vcpu_e500)
PAGE_SIZE)));
for (i = 0; i < vcpu_e500->num_shared_tlb_pages; i++) {
- set_page_dirty_lock(vcpu_e500->shared_tlb_pages[i]);
+ set_page_dirty_lock(NULL,
+ vcpu_e500->shared_tlb_pages[i]);
put_page(vcpu_e500->shared_tlb_pages[i]);
}
@@ -2616,7 +2616,7 @@ static int adapter_indicators_set(struct kvm *kvm,
set_bit(bit, map);
idx = srcu_read_lock(&kvm->srcu);
mark_page_dirty(kvm, info->guest_addr >> PAGE_SHIFT);
- set_page_dirty_lock(info->page);
+ set_page_dirty_lock(NULL, info->page);
info = get_map_info(adapter, adapter_int->summary_addr);
if (!info) {
srcu_read_unlock(&kvm->srcu, idx);
@@ -2627,7 +2627,7 @@ static int adapter_indicators_set(struct kvm *kvm,
adapter->swap);
summary_set = test_and_set_bit(bit, map);
mark_page_dirty(kvm, info->guest_addr >> PAGE_SHIFT);
- set_page_dirty_lock(info->page);
+ set_page_dirty_lock(NULL, info->page);
srcu_read_unlock(&kvm->srcu, idx);
return summary_set ? 0 : 1;
}
@@ -6271,7 +6271,7 @@ static int sev_launch_update_data(struct kvm *kvm, struct kvm_sev_cmd *argp)
e_unpin:
/* content of memory is updated, mark pages dirty */
for (i = 0; i < npages; i++) {
- set_page_dirty_lock(inpages[i]);
+ set_page_dirty_lock(NULL, inpages[i]);
mark_page_accessed(inpages[i]);
}
/* unlock the user pages */
@@ -1376,7 +1376,7 @@ static void __bio_unmap_user(struct bio *bio)
*/
bio_for_each_segment_all(bvec, bio, i) {
if (bio_data_dir(bio) == READ)
- set_page_dirty_lock(bvec->bv_page);
+ set_page_dirty_lock(NULL, bvec->bv_page);
put_page(bvec->bv_page);
}
@@ -1581,7 +1581,7 @@ void bio_set_pages_dirty(struct bio *bio)
struct page *page = bvec->bv_page;
if (page && !PageCompound(page))
- set_page_dirty_lock(page);
+ set_page_dirty_lock(NULL, page);
}
}
@@ -406,7 +406,7 @@ static void g2d_userptr_put_dma_addr(struct drm_device *drm_dev,
int i;
for (i = 0; i < frame_vector_count(g2d_userptr->vec); i++)
- set_page_dirty_lock(pages[i]);
+ set_page_dirty_lock(NULL, pages[i]);
}
put_vaddr_frames(g2d_userptr->vec);
frame_vector_destroy(g2d_userptr->vec);
@@ -59,7 +59,7 @@ static void __ib_umem_release(struct ib_device *dev, struct ib_umem *umem, int d
page = sg_page(sg);
if (!PageDirty(page) && umem->writable && dirty)
- set_page_dirty_lock(page);
+ set_page_dirty_lock(NULL, page);
put_page(page);
}
@@ -125,7 +125,7 @@ void hfi1_release_user_pages(struct mm_struct *mm, struct page **p,
for (i = 0; i < npages; i++) {
if (dirty)
- set_page_dirty_lock(p[i]);
+ set_page_dirty_lock(NULL, p[i]);
put_page(p[i]);
}
@@ -44,7 +44,7 @@ static void __qib_release_user_pages(struct page **p, size_t num_pages,
for (i = 0; i < num_pages; i++) {
if (dirty)
- set_page_dirty_lock(p[i]);
+ set_page_dirty_lock(NULL, p[i]);
put_page(p[i]);
}
}
@@ -89,7 +89,7 @@ static void usnic_uiom_put_pages(struct list_head *chunk_list, int dirty)
page = sg_page(sg);
pa = sg_phys(sg);
if (dirty)
- set_page_dirty_lock(page);
+ set_page_dirty_lock(NULL, page);
put_page(page);
usnic_dbg("pa: %pa\n", &pa);
}
@@ -437,7 +437,7 @@ static void vb2_dc_put_userptr(void *buf_priv)
if (buf->dma_dir == DMA_FROM_DEVICE ||
buf->dma_dir == DMA_BIDIRECTIONAL)
for (i = 0; i < frame_vector_count(buf->vec); i++)
- set_page_dirty_lock(pages[i]);
+ set_page_dirty_lock(NULL, pages[i]);
sg_free_table(sgt);
kfree(sgt);
}
@@ -295,7 +295,7 @@ static void vb2_dma_sg_put_userptr(void *buf_priv)
if (buf->dma_dir == DMA_FROM_DEVICE ||
buf->dma_dir == DMA_BIDIRECTIONAL)
while (--i >= 0)
- set_page_dirty_lock(buf->pages[i]);
+ set_page_dirty_lock(NULL, buf->pages[i]);
vb2_destroy_framevec(buf->vec);
kfree(buf);
}
@@ -141,7 +141,7 @@ static void vb2_vmalloc_put_userptr(void *buf_priv)
if (buf->dma_dir == DMA_FROM_DEVICE ||
buf->dma_dir == DMA_BIDIRECTIONAL)
for (i = 0; i < n_pages; i++)
- set_page_dirty_lock(pages[i]);
+ set_page_dirty_lock(NULL, pages[i]);
} else {
iounmap((__force void __iomem *)buf->vaddr);
}
@@ -540,7 +540,7 @@ static int genwqe_free_user_pages(struct page **page_list,
for (i = 0; i < nr_pages; i++) {
if (page_list[i] != NULL) {
if (dirty)
- set_page_dirty_lock(page_list[i]);
+ set_page_dirty_lock(NULL, page_list[i]);
put_page(page_list[i]);
}
}
@@ -168,7 +168,7 @@ static void ll_free_user_pages(struct page **pages, int npages, int do_dirty)
for (i = 0; i < npages; i++) {
if (do_dirty)
- set_page_dirty_lock(pages[i]);
+ set_page_dirty_lock(NULL, pages[i]);
put_page(pages[i]);
}
kvfree(pages);
@@ -1656,7 +1656,7 @@ static int set_bit_to_user(int nr, void __user *addr)
base = kmap_atomic(page);
set_bit(bit, base);
kunmap_atomic(base);
- set_page_dirty_lock(page);
+ set_page_dirty_lock(NULL, page);
put_page(page);
return 0;
}
@@ -244,7 +244,7 @@ __blkdev_direct_IO_simple(struct kiocb *iocb, struct iov_iter *iter,
bio_for_each_segment_all(bvec, &bio, i) {
if (should_dirty && !PageCompound(bvec->bv_page))
- set_page_dirty_lock(bvec->bv_page);
+ set_page_dirty_lock(NULL, bvec->bv_page);
put_page(bvec->bv_page);
}
@@ -557,7 +557,7 @@ static blk_status_t dio_bio_complete(struct dio *dio, struct bio *bio)
if (dio->op == REQ_OP_READ && !PageCompound(page) &&
dio->should_dirty)
- set_page_dirty_lock(page);
+ set_page_dirty_lock(NULL, page);
put_page(page);
}
bio_put(bio);
@@ -707,7 +707,7 @@ static void fuse_copy_finish(struct fuse_copy_state *cs)
} else if (cs->pg) {
if (cs->write) {
flush_dcache_page(cs->pg);
- set_page_dirty_lock(cs->pg);
+ set_page_dirty_lock(NULL, cs->pg);
}
put_page(cs->pg);
}
@@ -533,7 +533,7 @@ static void fuse_release_user_pages(struct fuse_req *req, bool should_dirty)
for (i = 0; i < req->num_pages; i++) {
struct page *page = req->pages[i];
if (should_dirty)
- set_page_dirty_lock(page);
+ set_page_dirty_lock(NULL, page);
put_page(page);
}
}
@@ -1464,7 +1464,7 @@ void account_page_dirtied(struct page *page, struct address_space *mapping);
void account_page_cleaned(struct page *page, struct address_space *mapping,
struct bdi_writeback *wb);
int set_page_dirty(struct address_space *, struct page *);
-int set_page_dirty_lock(struct page *page);
+int set_page_dirty_lock(struct address_space *, struct page *);
void __cancel_dirty_page(struct page *page);
static inline void cancel_dirty_page(struct page *page)
{
@@ -4466,7 +4466,7 @@ int __access_remote_vm(struct task_struct *tsk, struct mm_struct *mm,
if (write) {
copy_to_user_page(vma, page, addr,
maddr + offset, buf, bytes);
- set_page_dirty_lock(page);
+ set_page_dirty_lock(NULL, page);
} else {
copy_from_user_page(vma, page, addr,
buf, maddr + offset, bytes);
@@ -2594,7 +2594,7 @@ EXPORT_SYMBOL(set_page_dirty);
*
* In other cases, the page should be locked before running set_page_dirty().
*/
-int set_page_dirty_lock(struct page *page)
+int set_page_dirty_lock(struct address_space *_mapping, struct page *page)
{
int ret;
@@ -48,7 +48,7 @@ static int process_vm_rw_pages(struct page **pages,
if (vm_write) {
copied = copy_page_from_iter(page, offset, copy, iter);
- set_page_dirty_lock(page);
+ set_page_dirty_lock(NULL, page);
} else {
copied = copy_page_to_iter(page, offset, copy, iter);
}
@@ -49,7 +49,7 @@ void ceph_put_page_vector(struct page **pages, int num_pages, bool dirty)
for (i = 0; i < num_pages; i++) {
if (dirty)
- set_page_dirty_lock(pages[i]);
+ set_page_dirty_lock(NULL, pages[i]);
put_page(pages[i]);
}
kvfree(pages);