2022-11-03 22:27:46

by Peter Gonda

[permalink] [raw]
Subject: [PATCH] KVM: SVM: Only dump VSMA to klog for debugging

The KERN_CONT documentation says it defaults back to KERNL_DEFAULT if the
previous log line has a newline. So switch from KERN_CONT to
print_hex_dump_debug().

Cc: Jarkko Sakkinen <[email protected]>
Cc: Harald Hoyer <[email protected]>
Cc: Paolo Bonzini <[email protected]>
Cc: Sean Christopherson <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: Dave Hansen <[email protected]>
Cc: [email protected]
Cc: "H. Peter Anvin" <[email protected]>
Cc: [email protected]
Cc: [email protected]
Signed-off-by: Peter Gonda <[email protected]>

Fixes: 6fac42f127b8 ("KVM: SVM: Dump Virtual Machine Save Area (VMSA) to klog")
---

Tested before without DEBUG or CONFIG_DYNAMIC_DEBUG I would see the VMSA
raw hex bytes spew on dmesg. After change no such spew.

---
arch/x86/kvm/svm/sev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/kvm/svm/sev.c b/arch/x86/kvm/svm/sev.c
index c0c9ed5e279cb..9b8db157cf773 100644
--- a/arch/x86/kvm/svm/sev.c
+++ b/arch/x86/kvm/svm/sev.c
@@ -605,7 +605,7 @@ static int sev_es_sync_vmsa(struct vcpu_svm *svm)
save->dr6 = svm->vcpu.arch.dr6;

pr_debug("Virtual Machine Save Area (VMSA):\n");
- print_hex_dump(KERN_CONT, "", DUMP_PREFIX_NONE, 16, 1, save, sizeof(*save), false);
+ print_hex_dump_debug("", DUMP_PREFIX_NONE, 16, 1, save, sizeof(*save), false);

return 0;
}
--
2.38.1.431.g37b22c650d-goog



2022-11-03 22:45:07

by Sean Christopherson

[permalink] [raw]
Subject: Re: [PATCH] KVM: SVM: Only dump VSMA to klog for debugging

On Thu, Nov 03, 2022, Peter Gonda wrote:
> The KERN_CONT documentation says it defaults back to KERNL_DEFAULT if the

State what actually happens. Documentation is sometimes wrong, and just saying
"the docs say XYZ" makes it sound like this is a fix based on code inspection,
whereas you encountered a real problem. E.g.

Explicitly print the VMSA dump at KERN_DEBUG log level, KERN_CONT uses
KERNEL_DEFAULT if the previous log line has a newline, i.e. if there's
nothing to continuing, and as a result the VMSA gets dumped when it
shouldn't.

> previous log line has a newline. So switch from KERN_CONT to
> print_hex_dump_debug().

Jarkko pointed this out in the original submission, but the buggy patch got queued
without the fixup. This is a good opportunity to throw in a link so that it's
clear that the change is aligned with the original intent.

Link: https://lore.kernel.org/all/[email protected]

> Cc: Jarkko Sakkinen <[email protected]>
> Cc: Harald Hoyer <[email protected]>
> Cc: Paolo Bonzini <[email protected]>
> Cc: Sean Christopherson <[email protected]>
> Cc: Thomas Gleixner <[email protected]>
> Cc: Ingo Molnar <[email protected]>
> Cc: Borislav Petkov <[email protected]>
> Cc: Dave Hansen <[email protected]>
> Cc: [email protected]
> Cc: "H. Peter Anvin" <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> Signed-off-by: Peter Gonda <[email protected]>
>
> Fixes: 6fac42f127b8 ("KVM: SVM: Dump Virtual Machine Save Area (VMSA) to klog")

Fixes: usually goes before everything else, and this should probably Cc stable@
as well.

With the above tweaks,

Reviewed-by: Sean Christopherson <[email protected]>

2022-11-04 15:16:34

by Peter Gonda

[permalink] [raw]
Subject: Re: [PATCH] KVM: SVM: Only dump VSMA to klog for debugging

On Thu, Nov 3, 2022 at 4:25 PM Sean Christopherson <[email protected]> wrote:
>
> On Thu, Nov 03, 2022, Peter Gonda wrote:
> > The KERN_CONT documentation says it defaults back to KERNL_DEFAULT if the
>
> State what actually happens. Documentation is sometimes wrong, and just saying
> "the docs say XYZ" makes it sound like this is a fix based on code inspection,
> whereas you encountered a real problem. E.g.
>
> Explicitly print the VMSA dump at KERN_DEBUG log level, KERN_CONT uses
> KERNEL_DEFAULT if the previous log line has a newline, i.e. if there's
> nothing to continuing, and as a result the VMSA gets dumped when it
> shouldn't.
>
> > previous log line has a newline. So switch from KERN_CONT to
> > print_hex_dump_debug().
>
> Jarkko pointed this out in the original submission, but the buggy patch got queued
> without the fixup. This is a good opportunity to throw in a link so that it's
> clear that the change is aligned with the original intent.
>
> Link: https://lore.kernel.org/all/[email protected]

Thanks. I've expanded on the description based on your feedback.

>
> > Cc: Jarkko Sakkinen <[email protected]>
> > Cc: Harald Hoyer <[email protected]>
> > Cc: Paolo Bonzini <[email protected]>
> > Cc: Sean Christopherson <[email protected]>
> > Cc: Thomas Gleixner <[email protected]>
> > Cc: Ingo Molnar <[email protected]>
> > Cc: Borislav Petkov <[email protected]>
> > Cc: Dave Hansen <[email protected]>
> > Cc: [email protected]
> > Cc: "H. Peter Anvin" <[email protected]>
> > Cc: [email protected]
> > Cc: [email protected]
> > Signed-off-by: Peter Gonda <[email protected]>
> >
> > Fixes: 6fac42f127b8 ("KVM: SVM: Dump Virtual Machine Save Area (VMSA) to klog")
>
> Fixes: usually goes before everything else, and this should probably Cc stable@
> as well.
>
> With the above tweaks,
>
> Reviewed-by: Sean Christopherson <[email protected]>

Done. Sent a V2 with your review tag.