Re: [PATCH Part1 v5 32/38] x86/sev: enable SEV-SNP-validated CPUID in #VC handlers
From: Michael Roth <hidden>
Date: 2021-09-01 01:17:15
Also in:
linux-coco, linux-efi, linux-mm, lkml, platform-driver-x86
On Tue, Aug 31, 2021 at 06:22:44PM +0200, Borislav Petkov wrote:
On Fri, Aug 27, 2021 at 01:32:40PM -0500, Michael Roth wrote:quoted
If the memory is allocated in boot/compressed/mem_encrypt.S, wouldn't kernel proper still need to create a static buffer for its copy?Just like the other variables like sme_me_mask etc that file allocates at the bottom. Or do you have a better idea?
What did you think of the suggestion of defining it in sev-shared.c as a static buffer/struct as __ro_after_init? It would be nice to declare/reserve the memory in one place. Another benefit is it doesn't need to be exported, and could just be local with all the other snp_cpuid* helpers that access it in sev-shared.c
quoted
Would that be a reasonable approach for v6?I don't like the ifdeffery one bit, TBH. I guess you should split it and have a boot/compressed page and a kernel proper one and keep 'em separate. That should make everything nice and clean at the cost of 2*4K which is nothing nowadays.
I think I can address the ifdeffery by splitting the boot/proper routines into separate self-contained routines (and maybe move them out into boot/compressed/sev.c and kernel/sev.c, respectively), then having them just initialize the table pointer and create the copy using a common setter function, e.g. snp_cpuid_table_create(cc_blob, fixup_offset) and for boot/compressed.c fixup_offset would just be passed in as 0.
Thx.
--
Regards/Gruss,
Boris.
https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpeople.kernel.org%2Ftglx%2Fnotes-about-netiquette&data=04%7C01%7CMichael.Roth%40amd.com%7Cb4adf700d33e42ffe4be08d96c9b7fe6%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637660237404006013%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=nVGIpG0WAcqcHZWXK1%2BQoaPBoeCLwtkqgs8Mfgz%2Fr04%3D&reserved=0