Loading mm/bounce.c +2 −2 Original line number Diff line number Diff line Loading @@ -50,9 +50,9 @@ static void bounce_copy_vec(struct bio_vec *to, unsigned char *vfrom) unsigned char *vto; local_irq_save(flags); vto = kmap_atomic(to->bv_page, KM_BOUNCE_READ); vto = kmap_atomic(to->bv_page); memcpy(vto + to->bv_offset, vfrom, to->bv_len); kunmap_atomic(vto, KM_BOUNCE_READ); kunmap_atomic(vto); local_irq_restore(flags); } Loading mm/filemap.c +4 −4 Original line number Diff line number Diff line Loading @@ -1318,10 +1318,10 @@ int file_read_actor(read_descriptor_t *desc, struct page *page, * taking the kmap. */ if (!fault_in_pages_writeable(desc->arg.buf, size)) { kaddr = kmap_atomic(page, KM_USER0); kaddr = kmap_atomic(page); left = __copy_to_user_inatomic(desc->arg.buf, kaddr + offset, size); kunmap_atomic(kaddr, KM_USER0); kunmap_atomic(kaddr); if (left == 0) goto success; } Loading Loading @@ -2045,7 +2045,7 @@ size_t iov_iter_copy_from_user_atomic(struct page *page, size_t copied; BUG_ON(!in_atomic()); kaddr = kmap_atomic(page, KM_USER0); kaddr = kmap_atomic(page); if (likely(i->nr_segs == 1)) { int left; char __user *buf = i->iov->iov_base + i->iov_offset; Loading @@ -2055,7 +2055,7 @@ size_t iov_iter_copy_from_user_atomic(struct page *page, copied = __iovec_copy_from_user_inatomic(kaddr + offset, i->iov, i->iov_offset, bytes); } kunmap_atomic(kaddr, KM_USER0); kunmap_atomic(kaddr); return copied; } Loading mm/ksm.c +6 −6 Original line number Diff line number Diff line Loading @@ -672,9 +672,9 @@ static int unmerge_and_remove_all_rmap_items(void) static u32 calc_checksum(struct page *page) { u32 checksum; void *addr = kmap_atomic(page, KM_USER0); void *addr = kmap_atomic(page); checksum = jhash2(addr, PAGE_SIZE / 4, 17); kunmap_atomic(addr, KM_USER0); kunmap_atomic(addr); return checksum; } Loading @@ -683,11 +683,11 @@ static int memcmp_pages(struct page *page1, struct page *page2) char *addr1, *addr2; int ret; addr1 = kmap_atomic(page1, KM_USER0); addr2 = kmap_atomic(page2, KM_USER1); addr1 = kmap_atomic(page1); addr2 = kmap_atomic(page2); ret = memcmp(addr1, addr2, PAGE_SIZE); kunmap_atomic(addr2, KM_USER1); kunmap_atomic(addr1, KM_USER0); kunmap_atomic(addr2); kunmap_atomic(addr1); return ret; } Loading mm/memory.c +2 −2 Original line number Diff line number Diff line Loading @@ -2447,7 +2447,7 @@ static inline void cow_user_page(struct page *dst, struct page *src, unsigned lo * fails, we just zero-fill it. Live with it. */ if (unlikely(!src)) { void *kaddr = kmap_atomic(dst, KM_USER0); void *kaddr = kmap_atomic(dst); void __user *uaddr = (void __user *)(va & PAGE_MASK); /* Loading @@ -2458,7 +2458,7 @@ static inline void cow_user_page(struct page *dst, struct page *src, unsigned lo */ if (__copy_from_user_inatomic(kaddr, uaddr, PAGE_SIZE)) clear_page(kaddr); kunmap_atomic(kaddr, KM_USER0); kunmap_atomic(kaddr); flush_dcache_page(dst); } else copy_user_highpage(dst, src, va, vma); Loading mm/shmem.c +2 −2 Original line number Diff line number Diff line Loading @@ -1656,9 +1656,9 @@ static int shmem_symlink(struct inode *dir, struct dentry *dentry, const char *s } inode->i_mapping->a_ops = &shmem_aops; inode->i_op = &shmem_symlink_inode_operations; kaddr = kmap_atomic(page, KM_USER0); kaddr = kmap_atomic(page); memcpy(kaddr, symname, len); kunmap_atomic(kaddr, KM_USER0); kunmap_atomic(kaddr); set_page_dirty(page); unlock_page(page); page_cache_release(page); Loading Loading
mm/bounce.c +2 −2 Original line number Diff line number Diff line Loading @@ -50,9 +50,9 @@ static void bounce_copy_vec(struct bio_vec *to, unsigned char *vfrom) unsigned char *vto; local_irq_save(flags); vto = kmap_atomic(to->bv_page, KM_BOUNCE_READ); vto = kmap_atomic(to->bv_page); memcpy(vto + to->bv_offset, vfrom, to->bv_len); kunmap_atomic(vto, KM_BOUNCE_READ); kunmap_atomic(vto); local_irq_restore(flags); } Loading
mm/filemap.c +4 −4 Original line number Diff line number Diff line Loading @@ -1318,10 +1318,10 @@ int file_read_actor(read_descriptor_t *desc, struct page *page, * taking the kmap. */ if (!fault_in_pages_writeable(desc->arg.buf, size)) { kaddr = kmap_atomic(page, KM_USER0); kaddr = kmap_atomic(page); left = __copy_to_user_inatomic(desc->arg.buf, kaddr + offset, size); kunmap_atomic(kaddr, KM_USER0); kunmap_atomic(kaddr); if (left == 0) goto success; } Loading Loading @@ -2045,7 +2045,7 @@ size_t iov_iter_copy_from_user_atomic(struct page *page, size_t copied; BUG_ON(!in_atomic()); kaddr = kmap_atomic(page, KM_USER0); kaddr = kmap_atomic(page); if (likely(i->nr_segs == 1)) { int left; char __user *buf = i->iov->iov_base + i->iov_offset; Loading @@ -2055,7 +2055,7 @@ size_t iov_iter_copy_from_user_atomic(struct page *page, copied = __iovec_copy_from_user_inatomic(kaddr + offset, i->iov, i->iov_offset, bytes); } kunmap_atomic(kaddr, KM_USER0); kunmap_atomic(kaddr); return copied; } Loading
mm/ksm.c +6 −6 Original line number Diff line number Diff line Loading @@ -672,9 +672,9 @@ static int unmerge_and_remove_all_rmap_items(void) static u32 calc_checksum(struct page *page) { u32 checksum; void *addr = kmap_atomic(page, KM_USER0); void *addr = kmap_atomic(page); checksum = jhash2(addr, PAGE_SIZE / 4, 17); kunmap_atomic(addr, KM_USER0); kunmap_atomic(addr); return checksum; } Loading @@ -683,11 +683,11 @@ static int memcmp_pages(struct page *page1, struct page *page2) char *addr1, *addr2; int ret; addr1 = kmap_atomic(page1, KM_USER0); addr2 = kmap_atomic(page2, KM_USER1); addr1 = kmap_atomic(page1); addr2 = kmap_atomic(page2); ret = memcmp(addr1, addr2, PAGE_SIZE); kunmap_atomic(addr2, KM_USER1); kunmap_atomic(addr1, KM_USER0); kunmap_atomic(addr2); kunmap_atomic(addr1); return ret; } Loading
mm/memory.c +2 −2 Original line number Diff line number Diff line Loading @@ -2447,7 +2447,7 @@ static inline void cow_user_page(struct page *dst, struct page *src, unsigned lo * fails, we just zero-fill it. Live with it. */ if (unlikely(!src)) { void *kaddr = kmap_atomic(dst, KM_USER0); void *kaddr = kmap_atomic(dst); void __user *uaddr = (void __user *)(va & PAGE_MASK); /* Loading @@ -2458,7 +2458,7 @@ static inline void cow_user_page(struct page *dst, struct page *src, unsigned lo */ if (__copy_from_user_inatomic(kaddr, uaddr, PAGE_SIZE)) clear_page(kaddr); kunmap_atomic(kaddr, KM_USER0); kunmap_atomic(kaddr); flush_dcache_page(dst); } else copy_user_highpage(dst, src, va, vma); Loading
mm/shmem.c +2 −2 Original line number Diff line number Diff line Loading @@ -1656,9 +1656,9 @@ static int shmem_symlink(struct inode *dir, struct dentry *dentry, const char *s } inode->i_mapping->a_ops = &shmem_aops; inode->i_op = &shmem_symlink_inode_operations; kaddr = kmap_atomic(page, KM_USER0); kaddr = kmap_atomic(page); memcpy(kaddr, symname, len); kunmap_atomic(kaddr, KM_USER0); kunmap_atomic(kaddr); set_page_dirty(page); unlock_page(page); page_cache_release(page); Loading