Re: [PATCH v5 31/32] x86: Add sysfs support for Secure Memory Encryption

Dave Young
2017-04-28T05:33:10Z

On 04/27/17 at 08:52am, Dave Hansen wrote:
> On 04/27/2017 12:25 AM, Dave Young wrote:
> > On 04/21/17 at 02:55pm, Dave Hansen wrote:
> >> On 04/18/2017 02:22 PM, Tom Lendacky wrote:
> >>> Add sysfs support for SME so that user-space utilities (kdump, etc.) can
> >>> determine if SME is active.
> >>>
> >>> A new directory will be created:
> >>> /sys/kernel/mm/sme/
> >>>
> >>> And two entries within the new directory:
> >>> /sys/kernel/mm/sme/active
> >>> /sys/kernel/mm/sme/encryption_mask
> >>
> >> Why do they care, and what will they be doing with this information?
> >
> > Since kdump will copy old memory but need this to know if the old memory
> > was encrypted or not. With this sysfs file we can know the previous SME
> > status and pass to kdump kernel as like a kernel param.
> >
> > Tom, have you got chance to try if it works or not?
>
> What will the kdump kernel do with it though? We kexec() into that
> kernel so the SME keys will all be the same, right? So, will the kdump
> kernel be just setting the encryption bit in the PTE so it can copy the
> old plaintext out?

I assume it is for active -> non active case, the new boot need to know
the old memory is encrypted. But I think I did not read all the patches
I may miss things.

>
> Why do we need both 'active' and 'encryption_mask'? How could it be
> that the hardware-enumerated 'encryption_mask' changes across a kexec()?

Leave this question to Tom..

Thanks
Dave