Re: [PATCH v7 RESEND 4/4] kdump/vmcore: support encrypted old memory with SME enabled

From: lijiang
Date: Sat Sep 29 2018 - 05:36:28 EST


å 2018å09æ29æ 16:30, Borislav Petkov åé:
> On Sat, Sep 29, 2018 at 02:24:52PM +0800, lijiang wrote:
>> At first, i added an input parameter for read_from_oldmem() because of encryption(SME). But
>> for avoiding to also add the same parameter for copy_oldmem_page(), so i added a new function
>> copy_oldmem_page_encrypted(). Maybe you had noticed that these functions were very similar.
>
> If you have two very similar functions, you add a *static* workhorse function:
>
> static ssize_t __copy_oldmem_page(unsigned long pfn, char *buf, size_t csize, unsigned long offset,
> int userbuf, bool encrypted)
>
> and you define two wrappers:
>
> copy_oldmem_page()
> copy_oldmem_page_encrypted()
>
> which both call __copy_oldmem_page() with the appropriate parameters.
>

Great! Previously i was afraid that the maintainer might disagree with
rewriting the function copy_oldmem_page().

That's really great. I will modify this patch and post the series again.

Thanks.
Lianbo
> But you do *not* do a separate compilation unit just because. None of
> the reasons you've mentioned warrant having a separate compilation
> unit while you already have *the* perfect place to put everything -
> arch/x86/kernel/crash_dump_64.c
>
>> So sorry, here "oldmem encrypted" means the "old memory is encrypted".
>
> I know what it means - I'm trying to explain to you to write it out
> in plain english and not use some strange constructs like "oldmem
> encrypted".
>
> A reader would wonder: why is this thing semi-abbreviated and in
> quotation marks? Does that mean anything special?
>
> Our comments should not be write-only. So after you've written it, try
> to read it as someone who sees the code for the first time and think
> hard whether she/he will understand it.
>
> Do you catch my drift now?
>
Yes, got it. Thanks for your valuable time and patience.

Regards,
Lianbo