ira.weiny@intel.com writes:
From: Ira Weiny ira.weiny@intel.com
This kmap() call is localized to a single thread. To avoid the over head of global PKRS updates use the new kmap_thread() call.
Acked-by: "Eric W. Biederman" ebiederm@xmission.com
Cc: Eric Biederman ebiederm@xmission.com Signed-off-by: Ira Weiny ira.weiny@intel.com
kernel/kexec_core.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/kernel/kexec_core.c b/kernel/kexec_core.c index c19c0dad1ebe..272a9920c0d6 100644 --- a/kernel/kexec_core.c +++ b/kernel/kexec_core.c @@ -815,7 +815,7 @@ static int kimage_load_normal_segment(struct kimage *image, if (result < 0) goto out;
ptr = kmap(page);
/* Start with a clear page */ clear_page(ptr); ptr += maddr & ~PAGE_MASK;ptr = kmap_thread(page);
@@ -828,7 +828,7 @@ static int kimage_load_normal_segment(struct kimage *image, memcpy(ptr, kbuf, uchunk); else result = copy_from_user(ptr, buf, uchunk);
kunmap(page);
if (result) { result = -EFAULT; goto out;kunmap_thread(page);
@@ -879,7 +879,7 @@ static int kimage_load_crash_segment(struct kimage *image, goto out; } arch_kexec_post_alloc_pages(page_address(page), 1, 0);
ptr = kmap(page);
ptr += maddr & ~PAGE_MASK; mchunk = min_t(size_t, mbytes, PAGE_SIZE - (maddr & ~PAGE_MASK));ptr = kmap_thread(page);
@@ -895,7 +895,7 @@ static int kimage_load_crash_segment(struct kimage *image, else result = copy_from_user(ptr, buf, uchunk); kexec_flush_icache_page(page);
kunmap(page);
arch_kexec_pre_free_pages(page_address(page), 1); if (result) { result = -EFAULT;kunmap_thread(page);