From: Janosch Frank <frankja@linux.ibm.com>
To: pbonzini@redhat.com
Cc: kvm@vger.kernel.org, frankja@linux.ibm.com, david@redhat.com,
borntraeger@linux.ibm.com, cohuck@redhat.com,
linux-s390@vger.kernel.org, imbrenda@linux.ibm.com,
hca@linux.ibm.com, Eric Farman <farman@linux.ibm.com>,
Christoph Schlameuss <schlameuss@linux.ibm.com>
Subject: [GIT PULL 07/10] KVM: s390: vsie: Check alignment of BSCA header
Date: Mon, 1 Dec 2025 13:33:49 +0100 [thread overview]
Message-ID: <20251201124334.110483-8-frankja@linux.ibm.com> (raw)
In-Reply-To: <20251201124334.110483-1-frankja@linux.ibm.com>
From: Eric Farman <farman@linux.ibm.com>
The VSIE code currently checks that the BSCA struct fits within
a page, and returns a validity exception 0x003b if it doesn't.
The BSCA is pinned in memory rather than shadowed (see block
comment at end of kvm_s390_cpu_feat_init()), so enforcing the
CPU entries to be on the same pinned page makes sense.
Except those entries aren't going to be used below the guest,
and according to the definition of that validity exception only
the header of the BSCA (everything but the CPU entries) needs to
be within a page. Adjust the alignment check to account for that.
Signed-off-by: Eric Farman <farman@linux.ibm.com>
Reviewed-by: Christian Borntraeger <borntraeger@linux.ibm.com>
Reviewed-by: Christoph Schlameuss <schlameuss@linux.ibm.com>
Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
---
arch/s390/kvm/vsie.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/s390/kvm/vsie.c b/arch/s390/kvm/vsie.c
index 347268f89f2f..d23ab5120888 100644
--- a/arch/s390/kvm/vsie.c
+++ b/arch/s390/kvm/vsie.c
@@ -782,7 +782,7 @@ static int pin_blocks(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page)
else if ((gpa & ~0x1fffUL) == kvm_s390_get_prefix(vcpu))
rc = set_validity_icpt(scb_s, 0x0011U);
else if ((gpa & PAGE_MASK) !=
- ((gpa + sizeof(struct bsca_block) - 1) & PAGE_MASK))
+ ((gpa + offsetof(struct bsca_block, cpu[0]) - 1) & PAGE_MASK))
rc = set_validity_icpt(scb_s, 0x003bU);
if (!rc) {
rc = pin_guest_page(vcpu->kvm, gpa, &hpa);
--
2.52.0
next prev parent reply other threads:[~2025-12-01 12:45 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-01 12:33 [GIT PULL 00/10] KVM: s390: Changes for v6.19 Janosch Frank
2025-12-01 12:33 ` [GIT PULL 01/10] KVM: s390: Use ESCA instead of BSCA at VM init Janosch Frank
2025-12-01 12:33 ` [GIT PULL 02/10] KVM: S390: Remove sca_lock Janosch Frank
2025-12-01 12:33 ` [GIT PULL 03/10] KVM: s390: Remove unused return variable in kvm_arch_vcpu_ioctl_set_fpu Janosch Frank
2025-12-01 12:33 ` [GIT PULL 04/10] KVM: s390: Replace sprintf with snprintf for buffer safety Janosch Frank
2025-12-01 12:33 ` [GIT PULL 05/10] Documentation: kvm: Fix ordering Janosch Frank
2025-12-01 12:33 ` [GIT PULL 06/10] KVM: s390: Add capability that forwards operation exceptions Janosch Frank
2025-12-01 12:33 ` Janosch Frank [this message]
2025-12-01 12:33 ` [GIT PULL 08/10] KVM: s390: Add signal_exits counter Janosch Frank
2025-12-01 12:33 ` [GIT PULL 09/10] KVM: s390: Enable and disable interrupts in entry code Janosch Frank
2025-12-01 12:33 ` [GIT PULL 10/10] KVM: s390: Use generic VIRT_XFER_TO_GUEST_WORK functions Janosch Frank
2025-12-02 17:39 ` [GIT PULL 00/10] KVM: s390: Changes for v6.19 Paolo Bonzini
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=20251201124334.110483-8-frankja@linux.ibm.com \
--to=frankja@linux.ibm.com \
--cc=borntraeger@linux.ibm.com \
--cc=cohuck@redhat.com \
--cc=david@redhat.com \
--cc=farman@linux.ibm.com \
--cc=hca@linux.ibm.com \
--cc=imbrenda@linux.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=schlameuss@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox