Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1391709
| From | Matt Fleming <matt@codeblueprint.co.uk> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [BUG] x86/efi: MMRs no longer properly mapped after switch to isolated page table |
| Date | 2016-05-01 00:20 +0200 |
| Message-ID | <rtLp0-6Yy-9@gated-at.bofh.it> (permalink) |
| References | <rsA2E-3Ck-41@gated-at.bofh.it> <rsGB3-X9-3@gated-at.bofh.it> <rsJfz-31B-1@gated-at.bofh.it> <rsTHY-3fy-15@gated-at.bofh.it> <rtiQ1-4U-1@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Fri, 29 Apr, at 10:41:19AM, Alex Thorlton wrote: > > You can see here that we've made it past the MMR read in uv_system_init, > but we die inside of our first EFI callback. In this example, it looks > like we're using the kernel page table at the time of the failure, and I > believe that the failing address is somewhere in our EFI runtime code: > > [ 0.803396] efi: ATHORLTON EFI md dump: > [ 0.803396] type: 5 > [ 0.803396] pad: 0 > [ 0.803396] phys_addr: 6a0a6000 > [ 0.803396] virt_addr: 0 > [ 0.803396] num_pages: 184 > [ 0.803396] attribute: 800000000000000f > > So it looks like we're trying to read from EFI runtime space while using > the kernel page table, which fails, presumably because the space is also > not mapped into the kernel page table. While I understand *why* it > fails, and why the address isn't mapped, I don't fully know how we > should handle fixing it. How come you're not using the new EFI page tables while making EFI runtime calls? Who owns the MMR space and what is it used for? Do both the kernel and the firmware need access to it? My SGI UV knowledge is zero, so I'm happy to be educated! I can't think of any analogous memory regions on x86 where the EFI services require the kernel to map them, other than the EFI regions themselves. Runtime EFI regions should be opaque, isolated and self-contained. This is why there are two phases of execution for firmware; before and after ExitBootServices(). Once the kernel takes control after ExitBootServices() firmware can no longer provide timer services, for example, and doesn't care where the kernel maps the LAPIC because it never tries to access it. The fact that the UV firmware does care where the MMR space is mapped makes me suspect that there's a lack of isolation.
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Re: [BUG] x86/efi: MMRs no longer properly mapped after switch to isolated page table Borislav Petkov <bp@suse.de> - 2016-04-28 15:00 +0200
Re: [BUG] x86/efi: MMRs no longer properly mapped after switch to isolated page table Alex Thorlton <athorlton@sgi.com> - 2016-04-29 17:50 +0200
Re: [BUG] x86/efi: MMRs no longer properly mapped after switch to isolated page table Matt Fleming <matt@codeblueprint.co.uk> - 2016-05-01 00:20 +0200
Re: [BUG] x86/efi: MMRs no longer properly mapped after switch to isolated page table Alex Thorlton <athorlton@sgi.com> - 2016-05-02 23:40 +0200
Re: [BUG] x86/efi: MMRs no longer properly mapped after switch to isolated page table Mike Travis <travis@sgi.com> - 2016-05-03 00:20 +0200
Re: [BUG] x86/efi: MMRs no longer properly mapped after switch to isolated page table Matt Fleming <matt@codeblueprint.co.uk> - 2016-05-10 00:00 +0200
Re: [BUG] x86/efi: MMRs no longer properly mapped after switch to isolated page table Alex Thorlton <athorlton@sgi.com> - 2016-05-10 19:40 +0200
Re: [BUG] x86/efi: MMRs no longer properly mapped after switch to isolated page table Borislav Petkov <bp@suse.de> - 2016-05-02 12:10 +0200
Re: [BUG] x86/efi: MMRs no longer properly mapped after switch to isolated page table Alex Thorlton <athorlton@sgi.com> - 2016-05-03 00:30 +0200
Re: [BUG] x86/efi: MMRs no longer properly mapped after switch to isolated page table Alex Thorlton <athorlton@sgi.com> - 2016-05-03 02:20 +0200
Re: [BUG] x86/efi: MMRs no longer properly mapped after switch to isolated page table Borislav Petkov <bp@suse.de> - 2016-05-03 11:50 +0200
Re: [BUG] x86/efi: MMRs no longer properly mapped after switch to isolated page table Alex Thorlton <athorlton@sgi.com> - 2016-05-03 20:50 +0200
Re: [BUG] x86/efi: MMRs no longer properly mapped after switch to isolated page table Borislav Petkov <bp@suse.de> - 2016-05-04 12:40 +0200
Re: [BUG] x86/efi: MMRs no longer properly mapped after switch to isolated page table Alex Thorlton <athorlton@sgi.com> - 2016-05-04 18:40 +0200
csiph-web