[ Cc'ing Tom Lendacky which I forgot to do earlier. Sorry about that. ] Hello Halil, Thanks for the quick review. Halil Pasic <pasic@xxxxxxxxxxxxx> writes: > On Fri, 12 Jul 2019 02:36:31 -0300 > Thiago Jung Bauermann <bauerman@xxxxxxxxxxxxx> wrote: > >> Secure Encrypted Virtualization is an x86-specific feature, so it shouldn't >> appear in generic kernel code because it forces non-x86 architectures to >> define the sev_active() function, which doesn't make a lot of sense. > > sev_active() might be just bad (too specific) name for a general > concept. s390 code defines it drives the right behavior in > kernel/dma/direct.c (which uses it). I thought about that but couldn't put my finger on a general concept. Is it "guest with memory inaccessible to the host"? Since your proposed definiton for force_dma_unencrypted() is simply to make it equivalent to sev_active(), I thought it was more straightforward to make each arch define force_dma_unencrypted() directly. Also, does sev_active() drive the right behavior for s390 in elfcorehdr_read() as well? >> To solve this problem, add an x86 elfcorehdr_read() function to override >> the generic weak implementation. To do that, it's necessary to make >> read_from_oldmem() public so that it can be used outside of vmcore.c. >> >> Signed-off-by: Thiago Jung Bauermann <bauerman@xxxxxxxxxxxxx> >> --- >> arch/x86/kernel/crash_dump_64.c | 5 +++++ >> fs/proc/vmcore.c | 8 ++++---- >> include/linux/crash_dump.h | 14 ++++++++++++++ >> include/linux/mem_encrypt.h | 1 - >> 4 files changed, 23 insertions(+), 5 deletions(-) > > Does not seem to apply to today's or yesterdays master. It assumes the presence of the two patches I mentioned in the cover letter. Only one of them is in master. I hadn't realized the s390 virtio patches were on their way to upstream. I was keeping an eye on the email thread but didn't see they were picked up in the s390 pull request. I'll add a new patch to this series making the corresponding changes to s390's <asm/mem_encrypt.h> as well. -- Thiago Jung Bauermann IBM Linux Technology Center