From: Lianbo Jiang <lijiang@redhat.com>
To: linux-kernel@vger.kernel.org
Cc: mingo@redhat.com, tglx@linutronix.de, hpa@zytor.com,
ebiederm@xmission.com, joro@8bytes.org, thomas.lendacky@amd.com,
dyoung@redhat.com, kexec@lists.infradead.org,
iommu@lists.linux-foundation.org, bhe@redhat.com
Subject: [PATCH 2/5 V5] Allocate pages for kdump without encryption when SME is enabled
Date: Mon, 2 Jul 2018 15:26:36 +0800 [thread overview]
Message-ID: <20180702072639.10110-3-lijiang@redhat.com> (raw)
In-Reply-To: <20180702072639.10110-1-lijiang@redhat.com>
When SME is enabled in the first kernel, we will allocate pages
for kdump without encryption in order to be able to boot the
second kernel in the same manner as kexec, which helps to keep
the same code style.
Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
---
Some changes:
1. remove some redundant codes for crash control pages.
2. add some comments.
kernel/kexec_core.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/kernel/kexec_core.c b/kernel/kexec_core.c
index 23a83a4..e7efcd1 100644
--- a/kernel/kexec_core.c
+++ b/kernel/kexec_core.c
@@ -471,6 +471,16 @@ static struct page *kimage_alloc_crash_control_pages(struct kimage *image,
}
}
+ if (pages) {
+ /*
+ * For kdump, we need to ensure that these pages are
+ * unencrypted pages if SME is enabled.
+ * By the way, it is unnecessary to call the arch_
+ * kexec_pre_free_pages(), which will make the code
+ * become more simple.
+ */
+ arch_kexec_post_alloc_pages(page_address(pages), 1 << order, 0);
+ }
return pages;
}
@@ -867,6 +877,7 @@ static int kimage_load_crash_segment(struct kimage *image,
result = -ENOMEM;
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,
@@ -884,6 +895,7 @@ static int kimage_load_crash_segment(struct kimage *image,
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;
goto out;
--
2.9.5
next prev parent reply other threads:[~2018-07-02 7:26 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-02 7:26 [PATCH 0/5 V5] Support kdump for AMD secure memory encryption(SME) Lianbo Jiang
2018-07-02 7:26 ` [PATCH 1/5 V5] Add a function(ioremap_encrypted) for kdump when AMD sme enabled Lianbo Jiang
2018-07-02 10:14 ` Borislav Petkov
[not found] ` <20180702101451.GB28730-Jj63ApZU6fQ@public.gmane.org>
2018-07-03 2:17 ` lijiang
[not found] ` <4ae1cfb5-0a4b-2aac-2575-024e2c74826f-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-07-03 9:39 ` Borislav Petkov
[not found] ` <20180703093924.GA5748-Jj63ApZU6fQ@public.gmane.org>
2018-07-03 11:25 ` lijiang
2018-07-03 10:58 ` lijiang
2018-07-03 11:14 ` Borislav Petkov
[not found] ` <20180703111428.GB5748-Jj63ApZU6fQ@public.gmane.org>
2018-07-03 11:44 ` lijiang
[not found] ` <4fbb843b-9597-a48b-8b6f-00e354b91950-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-07-09 6:28 ` lijiang
[not found] ` <e7357038-08bd-7ba8-5357-7c91d21d10fe-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-07-09 9:29 ` Borislav Petkov
[not found] ` <20180709092901.GA22182-K5JNixvcfoxupOikMc4+xw@public.gmane.org>
2018-07-09 13:55 ` lijiang
2018-07-13 17:08 ` Borislav Petkov
[not found] ` <20180713170857.GB17896-K5JNixvcfoxupOikMc4+xw@public.gmane.org>
2018-07-20 5:06 ` lijiang
2018-07-20 5:23 ` Dave Young
2018-07-20 7:32 ` Borislav Petkov
2018-07-20 9:55 ` lijiang
2018-07-20 10:08 ` Boris Petkov
2018-08-16 5:35 ` lijiang
2018-08-23 15:21 ` Borislav Petkov
2018-07-02 7:26 ` Lianbo Jiang [this message]
2018-07-02 7:26 ` [PATCH 3/5 V5] Remap the device table of IOMMU in encrypted manner for kdump Lianbo Jiang
2018-07-02 7:26 ` [PATCH 4/5 V5] Adjust some permanent mappings in unencrypted ways for kdump when SME is enabled Lianbo Jiang
2018-07-02 7:26 ` [PATCH 5/5 V5] Help to dump the old memory encrypted into vmcore file Lianbo Jiang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180702072639.10110-3-lijiang@redhat.com \
--to=lijiang@redhat.com \
--cc=bhe@redhat.com \
--cc=dyoung@redhat.com \
--cc=ebiederm@xmission.com \
--cc=hpa@zytor.com \
--cc=iommu@lists.linux-foundation.org \
--cc=joro@8bytes.org \
--cc=kexec@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=tglx@linutronix.de \
--cc=thomas.lendacky@amd.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).