All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tom Lendacky <thomas.lendacky@amd.com>
To: Borislav Petkov <bp@alien8.de>,
	Matt Fleming <matt@codeblueprint.co.uk>,
	Leif Lindholm <leif.lindholm@linaro.org>,
	Mark Salter <msalter@redhat.com>,
	Daniel Kiper <daniel.kiper@oracle.com>
Cc: linux-arch@vger.kernel.org, linux-efi@vger.kernel.org,
	kvm@vger.kernel.org, linux-doc@vger.kernel.org, x86@kernel.org,
	linux-kernel@vger.kernel.org, kasan-dev@googlegroups.com,
	linux-mm@kvack.org, iommu@lists.linux-foundation.org,
	"Radim Krčmář" <rkrcmar@redhat.com>,
	"Arnd Bergmann" <arnd@arndb.de>,
	"Jonathan Corbet" <corbet@lwn.net>,
	"Joerg Roedel" <joro@8bytes.org>,
	"Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Ingo Molnar" <mingo@redhat.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	"Andrey Ryabinin" <aryabinin@virtuozzo.com>,
	"Alexander Potapenko" <glider@google.com>,
	"Thomas Gleixner" <tglx@linutronix.de>,
	"Dmitry Vyukov" <dvyukov@google.com>
Subject: Re: [RFC PATCH v1 10/18] x86/efi: Access EFI related tables in the clear
Date: Tue, 24 May 2016 09:54:31 -0500	[thread overview]
Message-ID: <57446B27.20406@amd.com> (raw)
In-Reply-To: <5734C97D.8060803@amd.com>

On 05/12/2016 01:20 PM, Tom Lendacky wrote:
> On 05/10/2016 08:57 AM, Borislav Petkov wrote:
>> On Tue, May 10, 2016 at 02:43:58PM +0100, Matt Fleming wrote:
>>> Is it not possible to maintain some kind of kernel virtual address
>>> mapping so memremap*() and friends can figure out when to twiddle the
>>> mapping attributes and map with/without encryption?
>>
>> I guess we can move the sme_* specific stuff one indirection layer
>> below, i.e., in the *memremap() routines so that callers don't have to
>> care... That should keep the churn down...
>>
> 
> We could do that, but we'll have to generate that list of addresses so
> that it can be checked against the range being mapped.  Since this is
> part of early memmap support searching that list every time might not be
> too bad. I'll have to look into that and see what that looks like.

I looked into this and this would be a large change also to parse tables
and build lists.  It occurred to me that this could all be taken care of
if the early_memremap calls were changed to early_ioremap calls. Looking
in the git log I see that they were originally early_ioremap calls but
were changed to early_memremap calls with this commit:

commit abc93f8eb6e4 ("efi: Use early_mem*() instead of early_io*()")

Looking at the early_memremap code and the early_ioremap code they both
call __early_ioremap so I don't see how this change makes any
difference (especially since FIXMAP_PAGE_NORMAL and FIXMAP_PAGE_IO are
identical in this case).

Is it safe to change these back to early_ioremap calls (at least on
x86)?

Thanks,
Tom

> 
> Thanks,
> Tom
> 

WARNING: multiple messages have this Message-ID (diff)
From: Tom Lendacky <thomas.lendacky@amd.com>
To: Borislav Petkov <bp@alien8.de>,
	Matt Fleming <matt@codeblueprint.co.uk>,
	Leif Lindholm <leif.lindholm@linaro.org>,
	Mark Salter <msalter@redhat.com>,
	Daniel Kiper <daniel.kiper@oracle.com>
Cc: linux-arch@vger.kernel.org, linux-efi@vger.kernel.org,
	kvm@vger.kernel.org, linux-doc@vger.kernel.org, x86@kernel.org,
	linux-kernel@vger.kernel.org, kasan-dev@googlegroups.com,
	linux-mm@kvack.org, iommu@lists.linux-foundation.org,
	"Radim Krčmář" <rkrcmar@redhat.com>,
	"Arnd Bergmann" <arnd@arndb.de>,
	"Jonathan Corbet" <corbet@lwn.net>,
	"Joerg Roedel" <joro@8bytes.org>,
	"Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Ingo Molnar" <mingo@redhat.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	"Andrey Ryabinin" <aryabinin@virtuozzo.com>,
	"Alexander Potapenko" <glider@google.com>,
	"Thomas Gleixner" <tglx@linutronix.de>,
	"Dmitry Vyukov" <dvyukov@google.com>
Subject: Re: [RFC PATCH v1 10/18] x86/efi: Access EFI related tables in the clear
Date: Tue, 24 May 2016 09:54:31 -0500	[thread overview]
Message-ID: <57446B27.20406@amd.com> (raw)
In-Reply-To: <5734C97D.8060803@amd.com>

On 05/12/2016 01:20 PM, Tom Lendacky wrote:
> On 05/10/2016 08:57 AM, Borislav Petkov wrote:
>> On Tue, May 10, 2016 at 02:43:58PM +0100, Matt Fleming wrote:
>>> Is it not possible to maintain some kind of kernel virtual address
>>> mapping so memremap*() and friends can figure out when to twiddle the
>>> mapping attributes and map with/without encryption?
>>
>> I guess we can move the sme_* specific stuff one indirection layer
>> below, i.e., in the *memremap() routines so that callers don't have to
>> care... That should keep the churn down...
>>
> 
> We could do that, but we'll have to generate that list of addresses so
> that it can be checked against the range being mapped.  Since this is
> part of early memmap support searching that list every time might not be
> too bad. I'll have to look into that and see what that looks like.

I looked into this and this would be a large change also to parse tables
and build lists.  It occurred to me that this could all be taken care of
if the early_memremap calls were changed to early_ioremap calls. Looking
in the git log I see that they were originally early_ioremap calls but
were changed to early_memremap calls with this commit:

commit abc93f8eb6e4 ("efi: Use early_mem*() instead of early_io*()")

Looking at the early_memremap code and the early_ioremap code they both
call __early_ioremap so I don't see how this change makes any
difference (especially since FIXMAP_PAGE_NORMAL and FIXMAP_PAGE_IO are
identical in this case).

Is it safe to change these back to early_ioremap calls (at least on
x86)?

Thanks,
Tom

> 
> Thanks,
> Tom
> 

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2016-05-24 14:54 UTC|newest]

Thread overview: 227+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-26 22:55 [RFC PATCH v1 00/18] x86: Secure Memory Encryption (AMD) Tom Lendacky
2016-04-26 22:55 ` Tom Lendacky
2016-04-26 22:55 ` Tom Lendacky
2016-04-26 22:55 ` Tom Lendacky
2016-03-22 13:00 ` Pavel Machek
2016-03-22 13:00   ` Pavel Machek
2016-04-27 14:05   ` Borislav Petkov
2016-04-27 14:05     ` Borislav Petkov
2016-04-27 14:05     ` Borislav Petkov
2016-04-27 14:30     ` Pavel Machek
2016-04-27 14:30       ` Pavel Machek
2016-04-27 14:39       ` Borislav Petkov
2016-04-27 14:39         ` Borislav Petkov
2016-04-27 14:58         ` Pavel Machek
2016-04-27 14:58           ` Pavel Machek
2016-04-27 14:58           ` Pavel Machek
2016-04-27 15:47         ` Pavel Machek
2016-04-27 15:47           ` Pavel Machek
2016-04-27 14:21   ` Tom Lendacky
2016-04-27 14:21     ` Tom Lendacky
2016-04-26 22:56 ` [RFC PATCH v1 01/18] x86: Set the write-protect cache mode for AMD processors Tom Lendacky
2016-04-26 22:56   ` Tom Lendacky
2016-04-26 22:56   ` Tom Lendacky
2016-04-26 22:56   ` Tom Lendacky
2016-04-27 14:33   ` Andy Lutomirski
2016-04-27 14:33     ` Andy Lutomirski
2016-04-27 14:33     ` Andy Lutomirski
2016-04-27 14:44     ` Tom Lendacky
2016-04-27 14:44       ` Tom Lendacky
2016-04-27 14:44       ` Tom Lendacky
2016-04-27 14:47       ` Andy Lutomirski
2016-04-27 14:47         ` Andy Lutomirski
2016-04-27 14:47         ` Andy Lutomirski
2016-04-27 15:05         ` Tom Lendacky
2016-04-27 15:05           ` Tom Lendacky
2016-04-27 15:05           ` Tom Lendacky
2016-04-27 15:12           ` Andy Lutomirski
2016-04-27 15:12             ` Andy Lutomirski
2016-04-27 15:12             ` Andy Lutomirski
2016-04-27 15:31             ` Borislav Petkov
2016-04-27 15:31               ` Borislav Petkov
2016-04-27 15:31               ` Borislav Petkov
2016-04-27 15:34               ` Andy Lutomirski
2016-04-27 15:34                 ` Andy Lutomirski
2016-04-27 15:34                 ` Andy Lutomirski
2016-04-26 22:56 ` [RFC PATCH v1 02/18] x86: Secure Memory Encryption (SME) build enablement Tom Lendacky
2016-04-26 22:56   ` Tom Lendacky
2016-04-26 22:56   ` Tom Lendacky
2016-04-26 22:56   ` Tom Lendacky
2016-03-22 13:01   ` Pavel Machek
2016-03-22 13:01     ` Pavel Machek
2016-04-27 15:17     ` Tom Lendacky
2016-04-27 15:17       ` Tom Lendacky
2016-04-27 15:30       ` Pavel Machek
2016-04-27 15:30         ` Pavel Machek
2016-04-27 15:41         ` Borislav Petkov
2016-04-27 15:41           ` Borislav Petkov
2016-04-27 15:41           ` Borislav Petkov
2016-04-27 16:41           ` Pavel Machek
2016-04-27 16:41             ` Pavel Machek
2016-04-27 17:07             ` Robin Murphy
2016-04-27 17:07               ` Robin Murphy
2016-04-27 17:12             ` Borislav Petkov
2016-04-27 17:12               ` Borislav Petkov
2016-04-26 22:56 ` [RFC PATCH v1 03/18] x86: Secure Memory Encryption (SME) support Tom Lendacky
2016-04-26 22:56   ` Tom Lendacky
2016-04-26 22:56   ` Tom Lendacky
2016-04-26 22:56   ` Tom Lendacky
2016-03-22 13:03   ` Pavel Machek
2016-03-22 13:03     ` Pavel Machek
2016-04-27 16:20     ` Tom Lendacky
2016-04-27 16:20       ` Tom Lendacky
2016-04-26 22:56 ` [RFC PATCH v1 04/18] x86: Add the Secure Memory Encryption cpu feature Tom Lendacky
2016-04-26 22:56   ` Tom Lendacky
2016-04-26 22:56   ` Tom Lendacky
2016-04-26 22:56   ` Tom Lendacky
2016-04-26 22:56 ` [RFC PATCH v1 05/18] x86: Handle reduction in physical address size with SME Tom Lendacky
2016-04-26 22:56   ` Tom Lendacky
2016-04-26 22:56   ` Tom Lendacky
2016-04-26 22:56   ` Tom Lendacky
2016-04-26 22:56 ` [RFC PATCH v1 06/18] x86: Provide general kernel support for memory encryption Tom Lendacky
2016-04-26 22:56   ` Tom Lendacky
2016-04-26 22:56   ` Tom Lendacky
2016-04-26 22:56   ` Tom Lendacky
2016-04-26 22:57 ` [RFC PATCH v1 07/18] x86: Extend the early_memmap support with additional attrs Tom Lendacky
2016-04-26 22:57   ` Tom Lendacky
2016-04-26 22:57   ` Tom Lendacky
2016-04-26 22:57   ` Tom Lendacky
2016-04-26 22:57 ` [RFC PATCH v1 08/18] x86: Add support for early encryption/decryption of memory Tom Lendacky
2016-04-26 22:57   ` Tom Lendacky
2016-04-26 22:57   ` Tom Lendacky
2016-04-26 22:57   ` Tom Lendacky
2016-04-26 22:57 ` [RFC PATCH v1 09/18] x86: Insure that memory areas are encrypted when possible Tom Lendacky
2016-04-26 22:57   ` Tom Lendacky
2016-04-26 22:57   ` Tom Lendacky
2016-04-26 22:57   ` Tom Lendacky
2016-04-26 22:57 ` [RFC PATCH v1 10/18] x86/efi: Access EFI related tables in the clear Tom Lendacky
2016-04-26 22:57   ` Tom Lendacky
2016-04-26 22:57   ` Tom Lendacky
2016-04-26 22:57   ` Tom Lendacky
2016-05-10 13:43   ` Matt Fleming
2016-05-10 13:43     ` Matt Fleming
2016-05-10 13:43     ` Matt Fleming
2016-05-10 13:57     ` Borislav Petkov
2016-05-10 13:57       ` Borislav Petkov
2016-05-10 13:57       ` Borislav Petkov
2016-05-12 18:20       ` Tom Lendacky
2016-05-12 18:20         ` Tom Lendacky
2016-05-24 14:54         ` Tom Lendacky [this message]
2016-05-24 14:54           ` Tom Lendacky
2016-05-25 16:09           ` Daniel Kiper
2016-05-25 16:09             ` Daniel Kiper
2016-05-25 16:09             ` Daniel Kiper
2016-05-25 19:30           ` Matt Fleming
2016-05-25 19:30             ` Matt Fleming
2016-05-25 19:30             ` Matt Fleming
2016-05-26 13:45             ` Tom Lendacky
2016-05-26 13:45               ` Tom Lendacky
2016-05-26 13:45               ` Tom Lendacky
2016-06-08 10:07               ` Matt Fleming
2016-06-08 10:07                 ` Matt Fleming
2016-06-08 10:07                 ` Matt Fleming
2016-06-09 16:16                 ` Tom Lendacky
2016-06-09 16:16                   ` Tom Lendacky
2016-06-09 16:16                   ` Tom Lendacky
2016-06-13 12:03                   ` Matt Fleming
2016-06-13 12:03                     ` Matt Fleming
2016-06-13 12:03                     ` Matt Fleming
2016-06-13 12:34                     ` Matt Fleming
2016-06-13 12:34                       ` Matt Fleming
2016-06-13 12:34                       ` Matt Fleming
2016-06-13 15:16                     ` Tom Lendacky
2016-06-13 15:16                       ` Tom Lendacky
2016-06-13 15:16                       ` Tom Lendacky
2016-06-08 11:18   ` Matt Fleming
2016-06-08 11:18     ` Matt Fleming
2016-06-08 11:18     ` Matt Fleming
2016-06-09 18:33     ` Tom Lendacky
2016-06-09 18:33       ` Tom Lendacky
2016-06-13 13:51       ` Matt Fleming
2016-06-13 13:51         ` Matt Fleming
2016-06-15 13:17         ` Tom Lendacky
2016-06-15 13:17           ` Tom Lendacky
2016-06-15 13:17           ` Tom Lendacky
2016-06-16 14:38           ` Tom Lendacky
2016-06-16 14:38             ` Tom Lendacky
2016-06-16 14:38             ` Tom Lendacky
2016-06-17 15:51             ` Matt Fleming
2016-06-17 15:51               ` Matt Fleming
2016-04-26 22:57 ` [RFC PATCH v1 11/18] x86: Decrypt trampoline area if memory encryption is active Tom Lendacky
2016-04-26 22:57   ` Tom Lendacky
2016-04-26 22:57   ` Tom Lendacky
2016-04-26 22:57   ` Tom Lendacky
2016-04-26 22:58 ` [RFC PATCH v1 12/18] x86: Access device tree in the clear Tom Lendacky
2016-04-26 22:58   ` Tom Lendacky
2016-04-26 22:58   ` Tom Lendacky
2016-04-26 22:58   ` Tom Lendacky
2016-04-26 22:58 ` [RFC PATCH v1 13/18] x86: DMA support for memory encryption Tom Lendacky
2016-04-26 22:58   ` Tom Lendacky
2016-04-26 22:58   ` Tom Lendacky
2016-04-26 22:58   ` Tom Lendacky
2016-04-29  7:17   ` Konrad Rzeszutek Wilk
2016-04-29 15:12     ` Tom Lendacky
2016-04-29 15:12       ` Tom Lendacky
2016-04-29 16:27       ` Konrad Rzeszutek Wilk
2016-04-29 23:49         ` Tom Lendacky
2016-04-29 23:49           ` Tom Lendacky
2016-04-29 23:49           ` Tom Lendacky
2016-04-26 22:58 ` [RFC PATCH v1 14/18] iommu/amd: AMD IOMMU " Tom Lendacky
2016-04-26 22:58   ` Tom Lendacky
2016-04-26 22:58   ` Tom Lendacky
2016-04-26 22:58   ` Tom Lendacky
2016-04-26 22:58 ` [RFC PATCH v1 15/18] x86: Enable memory encryption on the APs Tom Lendacky
2016-04-26 22:58   ` Tom Lendacky
2016-04-26 22:58   ` Tom Lendacky
2016-04-26 22:58   ` Tom Lendacky
2016-05-01 22:10   ` Huang, Kai
2016-05-01 22:10     ` Huang, Kai
2016-05-03 15:59     ` Tom Lendacky
2016-05-03 15:59       ` Tom Lendacky
2016-05-03 15:59       ` Tom Lendacky
2016-05-03 15:59       ` Tom Lendacky
2016-05-03 15:59       ` Tom Lendacky
2016-04-26 22:58 ` [RFC PATCH v1 16/18] x86: Do not specify encrypted memory for VGA mapping Tom Lendacky
2016-04-26 22:58   ` Tom Lendacky
2016-04-26 22:58   ` Tom Lendacky
2016-04-26 22:58   ` Tom Lendacky
2016-04-26 22:58 ` [RFC PATCH v1 17/18] x86/kvm: Enable Secure Memory Encryption of nested page tables Tom Lendacky
2016-04-26 22:58   ` Tom Lendacky
2016-04-26 22:58   ` Tom Lendacky
2016-04-26 22:58   ` Tom Lendacky
2016-04-26 22:59 ` [RFC PATCH v1 18/18] x86: Add support to turn on Secure Memory Encryption Tom Lendacky
2016-04-26 22:59   ` Tom Lendacky
2016-04-26 22:59   ` Tom Lendacky
2016-04-26 22:59   ` Tom Lendacky
2016-03-22 13:13   ` Pavel Machek
2016-03-22 13:13     ` Pavel Machek
2016-03-22 13:13     ` Pavel Machek
2016-04-27 14:39 ` [RFC PATCH v1 00/18] x86: Secure Memory Encryption (AMD) Andy Lutomirski
2016-04-27 14:39   ` Andy Lutomirski
2016-04-27 14:39   ` Andy Lutomirski
2016-04-27 20:10   ` Tom Lendacky
2016-04-27 20:10     ` Tom Lendacky
2016-04-27 20:10     ` Tom Lendacky
2016-05-02 18:31     ` Andy Lutomirski
2016-05-02 18:31       ` Andy Lutomirski
2016-05-02 18:31       ` Andy Lutomirski
2016-05-09 15:13       ` Paolo Bonzini
2016-05-09 15:13         ` Paolo Bonzini
2016-05-09 15:13         ` Paolo Bonzini
2016-05-09 21:08         ` Tom Lendacky
2016-05-09 21:08           ` Tom Lendacky
2016-05-09 21:08           ` Tom Lendacky
2016-05-10 11:23           ` Paolo Bonzini
2016-05-10 11:23             ` Paolo Bonzini
2016-05-10 11:23             ` Paolo Bonzini
2016-05-10 12:04             ` Borislav Petkov
2016-05-10 12:04               ` Borislav Petkov
2016-05-10 12:04               ` Borislav Petkov
2016-04-30  6:13 ` Elliott, Robert (Persistent Memory)
2016-05-03 15:55   ` Tom Lendacky
2016-05-03 15:55     ` Tom Lendacky
2016-05-03 15:55     ` Tom Lendacky
  -- strict thread matches above, loose matches on Subject: below --
2016-04-26 22:45 Tom Lendacky
2016-04-26 22:47 ` [RFC PATCH v1 10/18] x86/efi: Access EFI related tables in the clear Tom Lendacky
2016-04-26 22:47   ` Tom Lendacky
2016-04-26 22:47   ` Tom Lendacky
2016-04-26 22:47   ` Tom Lendacky

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=57446B27.20406@amd.com \
    --to=thomas.lendacky@amd.com \
    --cc=arnd@arndb.de \
    --cc=aryabinin@virtuozzo.com \
    --cc=bp@alien8.de \
    --cc=corbet@lwn.net \
    --cc=daniel.kiper@oracle.com \
    --cc=dvyukov@google.com \
    --cc=glider@google.com \
    --cc=hpa@zytor.com \
    --cc=iommu@lists.linux-foundation.org \
    --cc=joro@8bytes.org \
    --cc=kasan-dev@googlegroups.com \
    --cc=konrad.wilk@oracle.com \
    --cc=kvm@vger.kernel.org \
    --cc=leif.lindholm@linaro.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-efi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=matt@codeblueprint.co.uk \
    --cc=mingo@redhat.com \
    --cc=msalter@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=rkrcmar@redhat.com \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.