Re: [RFC Part1 PATCH v3 07/17] x86/mm: Include SEV for encryption memory attribute changes
On 7/27/2017 9:58 AM, Borislav Petkov wrote: On Mon, Jul 24, 2017 at 02:07:47PM -0500, Brijesh Singh wrote: From: Tom LendackyThe current code checks only for sme_active() when determining whether to perform the encryption attribute change. Include sev_active() in this check so that memory attribute changes can occur under SME and SEV. Signed-off-by: Tom Lendacky Signed-off-by: Brijesh Singh --- arch/x86/mm/pageattr.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c index dfb7d65..b726b23 100644 --- a/arch/x86/mm/pageattr.c +++ b/arch/x86/mm/pageattr.c @@ -1781,8 +1781,8 @@ static int __set_memory_enc_dec(unsigned long addr, int numpages, bool enc) unsigned long start; int ret; - /* Nothing to do if the SME is not active */ - if (!sme_active()) + /* Nothing to do if SME and SEV are not active */ + if (!sme_active() && !sev_active()) This is the second place which does if (!SME && !SEV) I wonder if, instead of sprinking those, we should have a if (mem_enc_active()) or so which unifies all those memory encryption logic tests and makes the code more straightforward for readers who don't have to pay attention to SME vs SEV ... Yup, that will make things look cleaner and easier to understand. Thanks, Tom Just a thought. -- To unsubscribe from this list: send the line "unsubscribe linux-efi" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
RE: [RFC Part1 PATCH v3 07/17] x86/mm: Include SEV for encryption memory attribute changes
From: Borislav Petkov > Sent: 27 July 2017 15:59 > On Mon, Jul 24, 2017 at 02:07:47PM -0500, Brijesh Singh wrote: > > From: Tom Lendacky> > > > The current code checks only for sme_active() when determining whether > > to perform the encryption attribute change. Include sev_active() in this > > check so that memory attribute changes can occur under SME and SEV. > > > > Signed-off-by: Tom Lendacky > > Signed-off-by: Brijesh Singh > > --- > > arch/x86/mm/pageattr.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c > > index dfb7d65..b726b23 100644 > > --- a/arch/x86/mm/pageattr.c > > +++ b/arch/x86/mm/pageattr.c > > @@ -1781,8 +1781,8 @@ static int __set_memory_enc_dec(unsigned long addr, > > int numpages, bool enc) > > unsigned long start; > > int ret; > > > > - /* Nothing to do if the SME is not active */ > > - if (!sme_active()) > > + /* Nothing to do if SME and SEV are not active */ > > + if (!sme_active() && !sev_active()) > > This is the second place which does > > if (!SME && !SEV) > > I wonder if, instead of sprinking those, we should have a > > if (mem_enc_active()) > > or so which unifies all those memory encryption logic tests and makes > the code more straightforward for readers who don't have to pay > attention to SME vs SEV ... If any of the code paths are 'hot' it would make sense to be checking a single memory location. David N�r��yb�X��ǧv�^�){.n�+{�y^n�r���z���h�&���G���h�(�階�ݢj"���m��z�ޖ���f���h���~�m�
Re: [RFC Part1 PATCH v3 07/17] x86/mm: Include SEV for encryption memory attribute changes
On Mon, Jul 24, 2017 at 02:07:47PM -0500, Brijesh Singh wrote: > From: Tom Lendacky> > The current code checks only for sme_active() when determining whether > to perform the encryption attribute change. Include sev_active() in this > check so that memory attribute changes can occur under SME and SEV. > > Signed-off-by: Tom Lendacky > Signed-off-by: Brijesh Singh > --- > arch/x86/mm/pageattr.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c > index dfb7d65..b726b23 100644 > --- a/arch/x86/mm/pageattr.c > +++ b/arch/x86/mm/pageattr.c > @@ -1781,8 +1781,8 @@ static int __set_memory_enc_dec(unsigned long addr, int > numpages, bool enc) > unsigned long start; > int ret; > > - /* Nothing to do if the SME is not active */ > - if (!sme_active()) > + /* Nothing to do if SME and SEV are not active */ > + if (!sme_active() && !sev_active()) This is the second place which does if (!SME && !SEV) I wonder if, instead of sprinking those, we should have a if (mem_enc_active()) or so which unifies all those memory encryption logic tests and makes the code more straightforward for readers who don't have to pay attention to SME vs SEV ... Just a thought. -- Regards/Gruss, Boris. SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nürnberg) -- -- To unsubscribe from this list: send the line "unsubscribe linux-efi" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[RFC Part1 PATCH v3 07/17] x86/mm: Include SEV for encryption memory attribute changes
From: Tom LendackyThe current code checks only for sme_active() when determining whether to perform the encryption attribute change. Include sev_active() in this check so that memory attribute changes can occur under SME and SEV. Signed-off-by: Tom Lendacky Signed-off-by: Brijesh Singh --- arch/x86/mm/pageattr.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c index dfb7d65..b726b23 100644 --- a/arch/x86/mm/pageattr.c +++ b/arch/x86/mm/pageattr.c @@ -1781,8 +1781,8 @@ static int __set_memory_enc_dec(unsigned long addr, int numpages, bool enc) unsigned long start; int ret; - /* Nothing to do if the SME is not active */ - if (!sme_active()) + /* Nothing to do if SME and SEV are not active */ + if (!sme_active() && !sev_active()) return 0; /* Should not be working on unaligned addresses */ -- 2.9.4 -- To unsubscribe from this list: send the line "unsubscribe linux-efi" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html