From: Christian Borntraeger <borntraeger@de.ibm.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel <qemu-devel@nongnu.org>,
qemu-s390x <qemu-s390x@nongnu.org>,
David Hildenbrand <david@redhat.com>,
Cornelia Huck <cohuck@redhat.com>,
Richard Henderson <rth@twiddle.net>,
Thomas Huth <thuth@redhat.com>, Halil Pasic <pasic@linux.ibm.com>,
Collin Walling <walling@linux.ibm.com>,
Matthew Rosato <mjrosato@linux.ibm.com>,
Janosch Frank <frankja@linux.ibm.com>,
Claudio Imbrenda <imbrenda@linux.ibm.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Igor Mammedov <imammedo@redhat.com>,
kvm@vger.kernel.org, "Jason J . Herne" <jjherne@linux.ibm.com>,
Christian Borntraeger <borntraeger@de.ibm.com>
Subject: [PULL 03/12] s390x: sclp: refactor invalid command check
Date: Mon, 30 Sep 2019 15:19:46 +0200 [thread overview]
Message-ID: <20190930131955.101131-4-borntraeger@de.ibm.com> (raw)
In-Reply-To: <20190930131955.101131-1-borntraeger@de.ibm.com>
From: Janosch Frank <frankja@linux.ibm.com>
Invalid command checking has to be done before the boundary check,
refactoring it now allows to insert the boundary check at the correct
place later.
Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Jason J. Herne <jjherne@linux.ibm.com>
Message-Id: <1569591203-15258-2-git-send-email-imbrenda@linux.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
---
hw/s390x/event-facility.c | 3 ---
hw/s390x/sclp.c | 17 ++++++++++++++++-
2 files changed, 16 insertions(+), 4 deletions(-)
diff --git a/hw/s390x/event-facility.c b/hw/s390x/event-facility.c
index 797ecbb7a9c8..66205697ae75 100644
--- a/hw/s390x/event-facility.c
+++ b/hw/s390x/event-facility.c
@@ -377,9 +377,6 @@ static void command_handler(SCLPEventFacility *ef, SCCB *sccb, uint64_t code)
case SCLP_CMD_WRITE_EVENT_MASK:
write_event_mask(ef, sccb);
break;
- default:
- sccb->h.response_code = cpu_to_be16(SCLP_RC_INVALID_SCLP_COMMAND);
- break;
}
}
diff --git a/hw/s390x/sclp.c b/hw/s390x/sclp.c
index fac7c3bb6c02..95ebfe7bd2f1 100644
--- a/hw/s390x/sclp.c
+++ b/hw/s390x/sclp.c
@@ -219,8 +219,23 @@ int sclp_service_call(CPUS390XState *env, uint64_t sccb, uint32_t code)
goto out;
}
- sclp_c->execute(sclp, &work_sccb, code);
+ switch (code & SCLP_CMD_CODE_MASK) {
+ case SCLP_CMDW_READ_SCP_INFO:
+ case SCLP_CMDW_READ_SCP_INFO_FORCED:
+ case SCLP_CMDW_READ_CPU_INFO:
+ case SCLP_CMDW_CONFIGURE_IOA:
+ case SCLP_CMDW_DECONFIGURE_IOA:
+ case SCLP_CMD_READ_EVENT_DATA:
+ case SCLP_CMD_WRITE_EVENT_DATA:
+ case SCLP_CMD_WRITE_EVENT_MASK:
+ break;
+ default:
+ work_sccb.h.response_code = cpu_to_be16(SCLP_RC_INVALID_SCLP_COMMAND);
+ goto out_write;
+ }
+ sclp_c->execute(sclp, &work_sccb, code);
+out_write:
cpu_physical_memory_write(sccb, &work_sccb,
be16_to_cpu(work_sccb.h.length));
--
2.21.0
next prev parent reply other threads:[~2019-09-30 13:20 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-30 13:19 [PULL 00/12] s390x qemu updates 20190930 Christian Borntraeger
2019-09-30 13:19 ` [PULL 01/12] MAINTAINERS: Update S390 PCI Maintainer Christian Borntraeger
2019-09-30 13:19 ` [PULL 02/12] s390: PCI: fix IOMMU region init Christian Borntraeger
2019-09-30 13:19 ` Christian Borntraeger [this message]
2019-09-30 13:19 ` [PULL 04/12] s390x: sclp: boundary check Christian Borntraeger
2019-09-30 13:19 ` [PULL 05/12] s390x: sclp: fix error handling for oversize control blocks Christian Borntraeger
2019-09-30 13:19 ` [PULL 06/12] s390x: sclp: Report insufficient SCCB length Christian Borntraeger
2019-09-30 13:19 ` [PULL 07/12] configure: Remove s390 (31-bit mode) from the list of supported CPUs Christian Borntraeger
2019-09-30 13:19 ` [PULL 08/12] kvm: extract kvm_log_clear_one_slot Christian Borntraeger
2019-09-30 13:19 ` [PULL 09/12] kvm: clear dirty bitmaps from all overlapping memslots Christian Borntraeger
2019-10-02 16:01 ` Kevin Wolf
2019-10-02 16:13 ` Christian Borntraeger
2019-10-02 16:18 ` Paolo Bonzini
2019-09-30 13:19 ` [PULL 10/12] kvm: split too big memory section on several memslots Christian Borntraeger
2019-09-30 13:19 ` [PULL 11/12] s390: do not call memory_region_allocate_system_memory() multiple times Christian Borntraeger
2019-09-30 13:19 ` [PULL 12/12] s390/kvm: split kvm mem slots at 4TB Christian Borntraeger
2019-10-01 10:40 ` [PULL 00/12] s390x qemu updates 20190930 Peter Maydell
2020-01-31 15:01 Christian Borntraeger
2020-01-31 15:01 ` [PULL 03/12] s390x: sclp: refactor invalid command check Christian Borntraeger
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=20190930131955.101131-4-borntraeger@de.ibm.com \
--to=borntraeger@de.ibm.com \
--cc=cohuck@redhat.com \
--cc=david@redhat.com \
--cc=frankja@linux.ibm.com \
--cc=imammedo@redhat.com \
--cc=imbrenda@linux.ibm.com \
--cc=jjherne@linux.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=mjrosato@linux.ibm.com \
--cc=pasic@linux.ibm.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-s390x@nongnu.org \
--cc=rth@twiddle.net \
--cc=thuth@redhat.com \
--cc=walling@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;
as well as URLs for NNTP newsgroup(s).