Re: [PATCH 1/2] KVM: SVM: Fix uninitialized variable bug

From: Sean Christopherson
Date: Tue Aug 13 2024 - 00:08:50 EST


On Wed, Jun 12, 2024, Dan Carpenter wrote:
> If snp_lookup_rmpentry() fails then "assigned" is printed in the error
> message but it was never initialized. Initialize it to false.
>
> Fixes: dee5a47cc7a4 ("KVM: SEV: Add KVM_SEV_SNP_LAUNCH_UPDATE command")
> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
> ---
> The compiler is generally already zeroing stack variables so this doesn't cost
> anything.
>
> 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 43a450fb01fd..70d8d213d401 100644
> --- a/arch/x86/kvm/svm/sev.c
> +++ b/arch/x86/kvm/svm/sev.c
> @@ -2199,7 +2199,7 @@ static int sev_gmem_post_populate(struct kvm *kvm, gfn_t gfn_start, kvm_pfn_t pf
>
> for (gfn = gfn_start, i = 0; gfn < gfn_start + npages; gfn++, i++) {
> struct sev_data_snp_launch_update fw_args = {0};
> - bool assigned;
> + bool assigned = false;

I would rather delete all the printks, or if people really like the printks, at
least provide some helpers to dedup the code. E.g. sev_gmem_prepare() has more
or less the exact same behavior, but doesn't have the same flaw.

> int level;
>
> if (!kvm_mem_is_private(kvm, gfn)) {
> --
> 2.43.0
>