Re: [PATCH v9 0/9] x86: Show in sysfs if a memory node is able to do encryption
From: Dave Hansen
Date: Thu Oct 13 2022 - 20:24:59 EST
On 10/13/22 12:48, Borislav Petkov wrote:
>> It's planned to make this check part of an specification that can be
>> passed to people purchasing hardware
> How is that supposed to work?
>
> People would boot a Linux on that hardware and fwupd would tell them
> whether it can encrypt memory or not?
>
> But if that were the only use case, why can't EFI simply say that in its
> fancy GUI?
>
> Because all the kernel seems to be doing here is parrot further
> EFI_MEMORY_CPU_CRYPTO.
>
> And that attribute gets set by EFI so it goes and picks apart whether
> the underlying hw can encrypt memory. So EFI could report it too.
I think the kernel _would_ just be parroting the firmware's info *if*
this stuff was all static at boot. It pretty much _is_ static on
today's systems. You generally can't hotplug memory (encrypted or not)
on any of these fancy memory encryption systems. On the Intel side, I'm
thinking mostly of Ice Lake systems.
But, that is very much changing once CXL comes on the scene. A system
might boot with only DRAM attached right to the CPU and all of it is
encryption-capable. Then, some wise guys plugs in a CXL card that
doesn't support encryption.
That makes the "is everything encrypted" answer dynamic and is
essentially unanswerable at boot, other than to give a one-off answer.