[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130606155822.GH20972@pd.tnic>
Date: Thu, 6 Jun 2013 17:58:22 +0200
From: Borislav Petkov <bp@...en8.de>
To: Matt Fleming <matt@...sole-pimps.org>
Cc: Linux EFI <linux-efi@...r.kernel.org>,
Matthew Garrett <mjg59@...f.ucam.org>,
Jiri Kosina <jkosina@...e.cz>, X86-ML <x86@...nel.org>,
LKML <linux-kernel@...r.kernel.org>, Borislav Petkov <bp@...e.de>
Subject: Re: [PATCH 4/4] x86, efi: Map runtime services 1:1
On Thu, Jun 06, 2013 at 03:29:08PM +0200, Borislav Petkov wrote:
> On Thu, Jun 06, 2013 at 02:14:39PM +0100, Matt Fleming wrote:
> > This patch makes my TunnelMountain machine spin in handle_pte_fault()
> > when triggering one of the "firmware makes references to physical
> > addresses" code paths.
> >
> > I'll try and dig into this tomorrow to figure out what's going on.
>
> Hmmm, looks like we have forgotten to map an EFI region and we do a #PF
> when executing the EFI code.
How about this one - I don't know whether it would flood dmesg, I guess
you'll have to try.
We could try using blockconsole to catch dmesg to an usb drive, though,
even if you don't have serial or netconsole or such. :-).
--
diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c
index 654be4ae3047..7a6129afdff1 100644
--- a/arch/x86/mm/fault.c
+++ b/arch/x86/mm/fault.c
@@ -1021,6 +1021,9 @@ __do_page_fault(struct pt_regs *regs, unsigned long error_code)
/* Get the faulting address: */
address = read_cr2();
+ if (read_cr3() == (unsigned long)real_mode_header->trampoline_pgd)
+ pr_err("%s: #PF addr: 0x%lx\n", __func__, address);
+
/*
* Detect and handle instructions that would cause a page fault for
* both a tracked kernel page and a userspace page.
--
Regards/Gruss,
Boris.
Sent from a fat crate under my desk. Formatting is fine.
--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists