aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorCollin Walling <walling@linux.ibm.com>2020-09-15 15:44:11 -0400
committerCornelia Huck <cohuck@redhat.com>2020-10-02 13:52:49 +0200
commitc1db53a5910f988eeb32f031c53a50f3373fd824 (patch)
tree5d92e07d347e833103135b2a58f6c9f91b9ea324 /include
parentdb13387ca01a69d870cc16dd232375c2603596f2 (diff)
s390/sclp: read sccb from mem based on provided length
The header contained within the SCCB passed to the SCLP service call contains the actual length of the SCCB. Instead of allocating a static 4K size for the work sccb, let's allow for a variable size determined by the value in the header. The proper checks are already in place to ensure the SCCB length is sufficent to store a full response and that the length does not cross any explicitly-set boundaries. Signed-off-by: Collin Walling <walling@linux.ibm.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com> Message-Id: <20200915194416.107460-4-walling@linux.ibm.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Diffstat (limited to 'include')
-rw-r--r--include/hw/s390x/sclp.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/hw/s390x/sclp.h b/include/hw/s390x/sclp.h
index cd730772f9..374ea83e78 100644
--- a/include/hw/s390x/sclp.h
+++ b/include/hw/s390x/sclp.h
@@ -178,7 +178,7 @@ typedef struct IoaCfgSccb {
typedef struct SCCB {
SCCBHeader h;
- char data[SCCB_DATA_LEN];
+ char data[];
} QEMU_PACKED SCCB;
#define TYPE_SCLP "sclp"