All of lore.kernel.org
 help / color / mirror / Atom feed
From: Claudio Imbrenda <imbrenda@linux.ibm.com>
To: linux-kernel@vger.kernel.org
Cc: kvm@vger.kernel.org, linux-s390@vger.kernel.org,
	borntraeger@de.ibm.com, frankja@linux.ibm.com, david@kernel.org,
	seiden@linux.ibm.com, nrb@linux.ibm.com,
	schlameuss@linux.ibm.com, gra@linux.ibm.com
Subject: [PATCH v7 03/14] KVM: s390: Fix kvm_s390_vcpu_unsetup_cmma()
Date: Fri, 31 Jul 2026 15:01:27 +0200	[thread overview]
Message-ID: <20260731130138.173983-4-imbrenda@linux.ibm.com> (raw)
In-Reply-To: <20260731130138.173983-1-imbrenda@linux.ibm.com>

In some cases kvm_s390_vcpu_unsetup_cmma() can be called with a 0
cbrlo; in such cases, if running with V != R, free_page() will attempt
to free physical page 0.

Fix by freeing cbrlo only if it's non-zero.

Fixes: b31605c12f4e ("KVM: s390: make cmma usage conditionally")
Fixes: 29b40f105ec8 ("KVM: s390: protvirt: Add initial vm and cpu lifecycle handling")
Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
---
 arch/s390/kvm/kvm-s390.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c
index 1b3290a5ad1a..9be27db0a21e 100644
--- a/arch/s390/kvm/kvm-s390.c
+++ b/arch/s390/kvm/kvm-s390.c
@@ -3678,7 +3678,8 @@ static void kvm_s390_vcpu_crypto_setup(struct kvm_vcpu *vcpu)
 
 void kvm_s390_vcpu_unsetup_cmma(struct kvm_vcpu *vcpu)
 {
-	free_page((unsigned long)phys_to_virt(vcpu->arch.sie_block->cbrlo));
+	if (vcpu->arch.sie_block->cbrlo)
+		free_page((unsigned long)phys_to_virt(vcpu->arch.sie_block->cbrlo));
 	vcpu->arch.sie_block->cbrlo = 0;
 }
 
-- 
2.55.0


  parent reply	other threads:[~2026-07-31 13:01 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-31 13:01 [PATCH v7 00/14] KVM: s390: Misc fixes Claudio Imbrenda
2026-07-31 13:01 ` [PATCH v7 01/14] KVM: s390: Fix unlikely NULL gmap dereference Claudio Imbrenda
2026-07-31 13:20   ` sashiko-bot
2026-07-31 13:01 ` [PATCH v7 02/14] KVM: s390: Do not free SCA if it was not allocated Claudio Imbrenda
2026-07-31 13:13   ` sashiko-bot
2026-07-31 13:01 ` Claudio Imbrenda [this message]
2026-07-31 13:21   ` [PATCH v7 03/14] KVM: s390: Fix kvm_s390_vcpu_unsetup_cmma() sashiko-bot
2026-07-31 13:01 ` [PATCH v7 04/14] KVM: s390: Fix overclearing ESCA in case of error Claudio Imbrenda
2026-07-31 13:33   ` sashiko-bot
2026-07-31 13:01 ` [PATCH v7 05/14] KVM: s390: ucontrol: Fix sca_clear_ext_call() Claudio Imbrenda
2026-07-31 13:19   ` sashiko-bot
2026-07-31 13:01 ` [PATCH v7 06/14] KVM: s390: Fix leaking of PGM_ADDRESSING to userspace Claudio Imbrenda
2026-07-31 13:24   ` sashiko-bot
2026-07-31 13:01 ` [PATCH v7 07/14] KVM: s390: Fix race in __do_essa() Claudio Imbrenda
2026-07-31 13:14   ` sashiko-bot
2026-07-31 13:01 ` [PATCH v7 08/14] KVM: s390: cmma: Fix dirty tracking when removing memslot Claudio Imbrenda
2026-07-31 13:36   ` sashiko-bot
2026-07-31 13:01 ` [PATCH v7 09/14] KVM: s390: ucontrol: Add missing locking around gmap_remove_child() Claudio Imbrenda
2026-07-31 13:35   ` sashiko-bot
2026-07-31 13:01 ` [PATCH v7 10/14] KVM: s390: Free the mmu cache when kvm_arch_vcpu_create() fails Claudio Imbrenda
2026-07-31 13:11   ` sashiko-bot
2026-07-31 13:01 ` [PATCH v7 11/14] KVM: s390: Return -EINTR if a signal is pending while faulting-in Claudio Imbrenda
2026-07-31 13:20   ` sashiko-bot
2026-07-31 13:01 ` [PATCH v7 12/14] KVM: s390: Fix ordering when adding to SCA Claudio Imbrenda
2026-07-31 13:21   ` sashiko-bot
2026-07-31 13:01 ` [PATCH v7 13/14] KVM: s390: Fix cleanup in kvm_s390_pv_create_cpu() Claudio Imbrenda
2026-07-31 13:21   ` sashiko-bot
2026-07-31 13:01 ` [PATCH v7 14/14] KVM: s390: Fix kvm_arch_commit_memory_region() when low on memory Claudio Imbrenda
2026-07-31 13:32   ` sashiko-bot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260731130138.173983-4-imbrenda@linux.ibm.com \
    --to=imbrenda@linux.ibm.com \
    --cc=borntraeger@de.ibm.com \
    --cc=david@kernel.org \
    --cc=frankja@linux.ibm.com \
    --cc=gra@linux.ibm.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=nrb@linux.ibm.com \
    --cc=schlameuss@linux.ibm.com \
    --cc=seiden@linux.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.