linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Matt Fleming <matt@codeblueprint.co.uk>
To: Ingo Molnar <mingo@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	"H. Peter Anvin" <hpa@zytor.com>
Cc: "Jonathan (Zhixiong) Zhang" <zjzhang@codeaurora.org>,
	linux-kernel@vger.kernel.org, linux-efi@vger.kernel.org,
	Matt Fleming <matt.fleming@intel.com>,
	Borislav Petkov <bp@suse.de>
Subject: [PATCH 2/2] acpi, apei: use appropriate pgprot_t to map GHES memory
Date: Wed, 12 Aug 2015 17:17:14 +0100	[thread overview]
Message-ID: <1439396234-22863-3-git-send-email-matt@codeblueprint.co.uk> (raw)
In-Reply-To: <1439396234-22863-1-git-send-email-matt@codeblueprint.co.uk>

From: "Jonathan (Zhixiong) Zhang" <zjzhang@codeaurora.org>

With ACPI APEI firmware first handling, generic hardware error
record is updated by firmware in GHES memory region. On an arm64
platform, firmware updates GHES memory region with uncached
access attribute, and then Linux reads stale data from cache.

GHES memory region should be mapped with page protection type
according to what is returned from arch_apei_get_mem_attribute(),
instead of always with PAGE_KERNEL (eg. cached attribute).

Acked-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Jonathan (Zhixiong) Zhang <zjzhang@codeaurora.org>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
---
 drivers/acpi/apei/ghes.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c
index 2bfd53cbfe80..0aa37c57acec 100644
--- a/drivers/acpi/apei/ghes.c
+++ b/drivers/acpi/apei/ghes.c
@@ -164,8 +164,10 @@ static void __iomem *ghes_ioremap_pfn_irq(u64 pfn)
 	unsigned long vaddr;
 
 	vaddr = (unsigned long)GHES_IOREMAP_IRQ_PAGE(ghes_ioremap_area->addr);
-	ioremap_page_range(vaddr, vaddr + PAGE_SIZE,
-			   pfn << PAGE_SHIFT, PAGE_KERNEL);
+	ioremap_page_range(vaddr,
+			   vaddr + PAGE_SIZE,
+			   pfn << PAGE_SHIFT,
+			   arch_apei_get_mem_attribute(pfn << PAGE_SHIFT));
 
 	return (void __iomem *)vaddr;
 }
-- 
2.1.0


  parent reply	other threads:[~2015-08-12 16:17 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-12 16:17 [GIT PULL 0/2] EFI changes for v4.3 (part two) Matt Fleming
2015-08-12 16:17 ` [PATCH 1/2] arm64: apei: implement arch_apei_get_mem_attributes() Matt Fleming
2015-08-13  8:22   ` Ingo Molnar
2015-08-14 18:55     ` Zhang, Jonathan Zhixiong
2015-08-14 19:12       ` Matt Fleming
2015-08-12 16:17 ` Matt Fleming [this message]
2015-08-13  8:19   ` [PATCH 2/2] acpi, apei: use appropriate pgprot_t to map GHES memory Ingo Molnar
2015-08-13  9:24     ` Matt Fleming
2015-08-13 11:14       ` Will Deacon
2015-08-14 19:09         ` Zhang, Jonathan Zhixiong
2015-08-14 22:37 [PATCH V2 1/2] arm64: apei: implement arch_apei_get_mem_attributes() Jonathan (Zhixiong) Zhang
2015-08-14 22:37 ` [PATCH 2/2] acpi, apei: use appropriate pgprot_t to map GHES memory Jonathan (Zhixiong) Zhang
2015-08-17 13:13   ` Matt Fleming
2015-08-17 21:10     ` Zhang, Jonathan Zhixiong
2015-08-22  9:24   ` Ingo Molnar
2015-08-24 18:22     ` Zhang, Jonathan Zhixiong
2015-08-25  8:59       ` Ingo Molnar
2015-08-25 17:30         ` Zhang, Jonathan Zhixiong
2015-08-24 18:25 Jonathan (Zhixiong) Zhang
2015-08-25 17:27 Jonathan (Zhixiong) Zhang
2015-09-04 11:28 ` Matt Fleming
2015-09-04 11:36   ` Ingo Molnar
2015-09-04 13:11 [GIT PULL 0/2] EFI changes for v4.3 (part two) Matt Fleming
2015-09-04 13:11 ` [PATCH 2/2] acpi, apei: Use appropriate pgprot_t to map GHES memory Matt Fleming

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=1439396234-22863-3-git-send-email-matt@codeblueprint.co.uk \
    --to=matt@codeblueprint.co.uk \
    --cc=bp@suse.de \
    --cc=hpa@zytor.com \
    --cc=linux-efi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=matt.fleming@intel.com \
    --cc=mingo@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=zjzhang@codeaurora.org \
    /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).