use clear_page()/copy_page() in favor of memset()/memcpy() on whole pages
After all that's what they are intended for. Signed-off-by: Jan Beulich <jbeulich@novell.com> Cc: Miklos Szeredi <miklos@szeredi.hu> Cc: "Eric W. Biederman" <ebiederm@xmission.com> Cc: "Rafael J. Wysocki" <rjw@sisk.pl> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
b647277681
commit
3ecb01df32
@@ -993,7 +993,7 @@ static void copy_data_page(unsigned long dst_pfn, unsigned long src_pfn)
|
||||
*/
|
||||
safe_copy_page(buffer, s_page);
|
||||
dst = kmap_atomic(d_page, KM_USER0);
|
||||
memcpy(dst, buffer, PAGE_SIZE);
|
||||
copy_page(dst, buffer);
|
||||
kunmap_atomic(dst, KM_USER0);
|
||||
} else {
|
||||
safe_copy_page(page_address(d_page), s_page);
|
||||
@@ -1687,7 +1687,7 @@ int snapshot_read_next(struct snapshot_handle *handle)
|
||||
memory_bm_position_reset(&orig_bm);
|
||||
memory_bm_position_reset(©_bm);
|
||||
} else if (handle->cur <= nr_meta_pages) {
|
||||
memset(buffer, 0, PAGE_SIZE);
|
||||
clear_page(buffer);
|
||||
pack_pfns(buffer, &orig_bm);
|
||||
} else {
|
||||
struct page *page;
|
||||
@@ -1701,7 +1701,7 @@ int snapshot_read_next(struct snapshot_handle *handle)
|
||||
void *kaddr;
|
||||
|
||||
kaddr = kmap_atomic(page, KM_USER0);
|
||||
memcpy(buffer, kaddr, PAGE_SIZE);
|
||||
copy_page(buffer, kaddr);
|
||||
kunmap_atomic(kaddr, KM_USER0);
|
||||
handle->buffer = buffer;
|
||||
} else {
|
||||
@@ -1984,7 +1984,7 @@ static void copy_last_highmem_page(void)
|
||||
void *dst;
|
||||
|
||||
dst = kmap_atomic(last_highmem_page, KM_USER0);
|
||||
memcpy(dst, buffer, PAGE_SIZE);
|
||||
copy_page(dst, buffer);
|
||||
kunmap_atomic(dst, KM_USER0);
|
||||
last_highmem_page = NULL;
|
||||
}
|
||||
@@ -2270,9 +2270,9 @@ swap_two_pages_data(struct page *p1, struct page *p2, void *buf)
|
||||
|
||||
kaddr1 = kmap_atomic(p1, KM_USER0);
|
||||
kaddr2 = kmap_atomic(p2, KM_USER1);
|
||||
memcpy(buf, kaddr1, PAGE_SIZE);
|
||||
memcpy(kaddr1, kaddr2, PAGE_SIZE);
|
||||
memcpy(kaddr2, buf, PAGE_SIZE);
|
||||
copy_page(buf, kaddr1);
|
||||
copy_page(kaddr1, kaddr2);
|
||||
copy_page(kaddr2, buf);
|
||||
kunmap_atomic(kaddr2, KM_USER1);
|
||||
kunmap_atomic(kaddr1, KM_USER0);
|
||||
}
|
||||
|
Reference in New Issue
Block a user