From: Christian Borntraeger <borntraeger@linux.ibm.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: KVM <kvm@vger.kernel.org>, Janosch Frank <frankja@linux.ibm.com>,
Claudio Imbrenda <imbrenda@linux.ibm.com>,
David Hildenbrand <david@redhat.com>,
linux-s390 <linux-s390@vger.kernel.org>,
Christian Borntraeger <borntraeger@linux.ibm.com>,
Heiko Carstens <hca@linux.ibm.com>,
Vasily Gorbik <gor@linux.ibm.com>,
Alexander Gordeev <agordeev@linux.ibm.com>,
Janis Schoetterl-Glausch <scgl@linux.ibm.com>,
Thomas Huth <thuth@redhat.com>
Subject: [GIT PULL 11/13] selftests: kvm: Check whether SIDA memop fails for normal guests
Date: Tue, 22 Feb 2022 10:49:08 +0100 [thread overview]
Message-ID: <20220222094910.18331-12-borntraeger@linux.ibm.com> (raw)
In-Reply-To: <20220222094910.18331-1-borntraeger@linux.ibm.com>
From: Thomas Huth <thuth@redhat.com>
Commit 2c212e1baedc ("KVM: s390: Return error on SIDA memop on normal
guest") fixed the behavior of the SIDA memops for normal guests. It
would be nice to have a way to test whether the current kernel has
the fix applied or not. Thus add a check to the KVM selftests for
these two memops.
Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Janis Schoetterl-Glausch <scgl@linux.ibm.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Reviewed-by: Shuah Khan <skhan@linuxfoundation.org>
Link: https://lore.kernel.org/r/20220215074824.188440-1-thuth@redhat.com
Signed-off-by: Christian Borntraeger <borntraeger@linux.ibm.com>
---
tools/testing/selftests/kvm/s390x/memop.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/tools/testing/selftests/kvm/s390x/memop.c b/tools/testing/selftests/kvm/s390x/memop.c
index 9f49ead380ab..d19c3ffdea3f 100644
--- a/tools/testing/selftests/kvm/s390x/memop.c
+++ b/tools/testing/selftests/kvm/s390x/memop.c
@@ -160,6 +160,21 @@ int main(int argc, char *argv[])
run->psw_mask &= ~(3UL << (63 - 17)); /* Disable AR mode */
vcpu_run(vm, VCPU_ID); /* Run to sync new state */
+ /* Check that the SIDA calls are rejected for non-protected guests */
+ ksmo.gaddr = 0;
+ ksmo.flags = 0;
+ ksmo.size = 8;
+ ksmo.op = KVM_S390_MEMOP_SIDA_READ;
+ ksmo.buf = (uintptr_t)mem1;
+ ksmo.sida_offset = 0x1c0;
+ rv = _vcpu_ioctl(vm, VCPU_ID, KVM_S390_MEM_OP, &ksmo);
+ TEST_ASSERT(rv == -1 && errno == EINVAL,
+ "ioctl does not reject SIDA_READ in non-protected mode");
+ ksmo.op = KVM_S390_MEMOP_SIDA_WRITE;
+ rv = _vcpu_ioctl(vm, VCPU_ID, KVM_S390_MEM_OP, &ksmo);
+ TEST_ASSERT(rv == -1 && errno == EINVAL,
+ "ioctl does not reject SIDA_WRITE in non-protected mode");
+
kvm_vm_free(vm);
return 0;
--
2.35.1
next prev parent reply other threads:[~2022-02-22 9:49 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-22 9:48 [GIT PULL 00/13] KVM: s390: Changes for 5.18 part1 Christian Borntraeger
2022-02-22 9:48 ` [GIT PULL 01/13] KVM: s390: MAINTAINERS: promote Claudio Imbrenda Christian Borntraeger
2022-02-22 9:48 ` [GIT PULL 02/13] s390/uaccess: Add copy_from/to_user_key functions Christian Borntraeger
2022-02-22 9:49 ` [GIT PULL 03/13] KVM: s390: Honor storage keys when accessing guest memory Christian Borntraeger
2022-02-22 9:49 ` [GIT PULL 04/13] KVM: s390: handle_tprot: Honor storage keys Christian Borntraeger
2022-02-22 9:49 ` [GIT PULL 05/13] KVM: s390: selftests: Test TEST PROTECTION emulation Christian Borntraeger
2022-02-22 9:49 ` [GIT PULL 06/13] KVM: s390: Add optional storage key checking to MEMOP IOCTL Christian Borntraeger
2022-02-22 9:49 ` [GIT PULL 07/13] KVM: s390: Add vm IOCTL for key checked guest absolute memory access Christian Borntraeger
2022-02-22 9:49 ` [GIT PULL 08/13] KVM: s390: Rename existing vcpu memop functions Christian Borntraeger
2022-02-22 9:49 ` [GIT PULL 09/13] KVM: s390: Add capability for storage key extension of MEM_OP IOCTL Christian Borntraeger
2022-02-22 9:49 ` [GIT PULL 10/13] KVM: s390: Update api documentation for memop ioctl Christian Borntraeger
2022-02-22 9:49 ` Christian Borntraeger [this message]
2022-02-22 9:49 ` [GIT PULL 12/13] KVM: s390: Clarify key argument for MEM_OP in api docs Christian Borntraeger
2022-02-22 9:49 ` [GIT PULL 13/13] KVM: s390: Add missing vm MEM_OP size check Christian Borntraeger
2022-02-22 15:18 ` [GIT PULL 00/13] KVM: s390: Changes for 5.18 part1 Christian Borntraeger
2022-02-22 18:18 ` 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=20220222094910.18331-12-borntraeger@linux.ibm.com \
--to=borntraeger@linux.ibm.com \
--cc=agordeev@linux.ibm.com \
--cc=david@redhat.com \
--cc=frankja@linux.ibm.com \
--cc=gor@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=scgl@linux.ibm.com \
--cc=thuth@redhat.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