* [PULL 00/15] s390x queue
@ 2026-08-12 17:16 Eric Farman
2026-08-12 17:16 ` [PULL 01/15] target/s390x: Make PRNO TRNG interruptible Eric Farman
` (14 more replies)
0 siblings, 15 replies; 16+ messages in thread
From: Eric Farman @ 2026-08-12 17:16 UTC (permalink / raw)
To: qemu-devel; +Cc: qemu-s390x, Matthew Rosato, Cornelia Huck, Eric Farman
The following changes since commit 3e3ccab106f879b1512f8e0d51a827dd4de30e22:
Update version for v11.1.0-rc3 release (2026-08-04 15:36:08 -0400)
are available in the Git repository at:
https://gitlab.com/efarman/qemu.git tags/s390x-20260812
for you to fetch changes up to 9b3d68edb24d4e04f49822c6e11641e4eb23dfd5:
pc-bios/s390-ccw.img: update s390x bios (2026-08-12 11:13:28 -0400)
----------------------------------------------------------------
First batch of s390x updates for 11.2:
- compat machines for 11.2
- allow guest backing with 2G hugepages
- fixes to TCG (and a couple tests on them)
- hardening fixes in boot/sclp code
- regenerate s390-ccw.img
----------------------------------------------------------------
Christian Borntraeger (1):
hw/char/sclpconsole-lm: avoid guest triggerable assert
Claudio Imbrenda (1):
target/s390x: Allow 2G hugepages guest backing
Cornelia Huck (1):
hw: add compat machines for 11.2
Eric Farman (1):
pc-bios/s390-ccw.img: update s390x bios
Ilya Leoshkevich (6):
target/s390x: Make PRNO TRNG interruptible
tests/tcg/s390x: Test PRNO TRNG interruptibility
target/s390x: Fix DR/D INT64_MIN / -1 host crash
tests/tcg/s390x: Test DR overflow (INT64_MIN / -1)
target/s390x/tcg: Set STCK/STCKF condition code after the store
tests/tcg/s390x: Test STCKF condition code on a faulting store
Jared Rossi (1):
pc-bios/s390-ccw: Fix off-by-one errors with loadparm and boot entries
Joshua Daley (4):
s390x/ipl: validate num_comp against iplb length before iterating
pc-bios/s390-ccw: fix out-of-bounds read in iso_get_file_size()
pc-bios/s390-ccw: bounds-check zipl menu entry index before array
write
pc-bios/s390-ccw: bound zipl menu strlen and replace VLA in
zipl_print_entry
hw/arm/virt.c | 9 ++++-
hw/char/sclpconsole-lm.c | 3 +-
hw/core/machine.c | 3 ++
hw/i386/pc.c | 3 ++
hw/i386/pc_piix.c | 13 +++++-
hw/i386/pc_q35.c | 13 +++++-
hw/loongarch/virt.c | 11 ++++-
hw/m68k/virt.c | 9 ++++-
hw/ppc/spapr.c | 15 ++++++-
hw/s390x/ipl.h | 6 +++
hw/s390x/s390-virtio-ccw.c | 14 ++++++-
include/hw/core/boards.h | 3 ++
include/hw/i386/pc.h | 3 ++
include/hw/s390x/ipl/qipl.h | 2 +
pc-bios/s390-ccw.img | Bin 104136 -> 104216 bytes
pc-bios/s390-ccw/bootmap.c | 6 ++-
pc-bios/s390-ccw/helper.h | 10 +++++
pc-bios/s390-ccw/menu.c | 42 +++++++++++++++----
pc-bios/s390-ccw/netmain.c | 11 +++--
pc-bios/s390-ccw/s390-ccw.h | 4 +-
target/s390x/diag.c | 2 +-
target/s390x/kvm/kvm.c | 36 ++++++++---------
target/s390x/kvm/kvm_s390x.h | 2 +-
target/s390x/kvm/stubs.c | 2 +-
target/s390x/tcg/crypto_helper.c | 22 +++++++---
target/s390x/tcg/insn-data.h.inc | 4 +-
target/s390x/tcg/int_helper.c | 3 +-
target/s390x/tcg/translate.c | 2 +
tests/tcg/s390x/Makefile.target | 2 +
tests/tcg/s390x/div.c | 37 +++++++++++++++++
tests/tcg/s390x/prno-trng.c | 67 +++++++++++++++++++++++++++++++
tests/tcg/s390x/stckf.c | 44 ++++++++++++++++++++
32 files changed, 344 insertions(+), 59 deletions(-)
create mode 100644 tests/tcg/s390x/prno-trng.c
create mode 100644 tests/tcg/s390x/stckf.c
--
2.55.0
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PULL 01/15] target/s390x: Make PRNO TRNG interruptible
2026-08-12 17:16 [PULL 00/15] s390x queue Eric Farman
@ 2026-08-12 17:16 ` Eric Farman
2026-08-12 17:16 ` [PULL 02/15] tests/tcg/s390x: Test PRNO TRNG interruptibility Eric Farman
` (13 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Eric Farman @ 2026-08-12 17:16 UTC (permalink / raw)
To: qemu-devel
Cc: qemu-s390x, Matthew Rosato, Cornelia Huck, Ilya Leoshkevich,
Christian Borntraeger, qemu-stable, Richard Henderson,
Harald Freudenberger, Eric Farman
From: Ilya Leoshkevich <iii@linux.ibm.com>
fill_buf_random() writes the entire guest-requested amount of random
bytes in one go. Since the length is a full 64-bit value, a guest can
request several gigabytes and keep the vCPU spinning inside the helper,
without a chance to react to interrupts.
Do the same thing as HELPER(mvcl): check cpu_loop_exit_requested() at the
bottom of the loop, and when a return to the main loop is pending, stop
and report partial completion with condition code 3.
Reported-by: Christian Borntraeger <borntraeger@linux.ibm.com>
Fixes: 3dbc5fdacb5a ("target/s390x: support PRNO_TRNG instruction")
Cc: qemu-stable@nongnu.org
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Harald Freudenberger <freude@linux.ibm.com>
Link: https://lore.kernel.org/qemu-devel/20260714191948.342204-2-iii@linux.ibm.com
Signed-off-by: Eric Farman <farman@linux.ibm.com>
---
target/s390x/tcg/crypto_helper.c | 22 +++++++++++++++++-----
1 file changed, 17 insertions(+), 5 deletions(-)
diff --git a/target/s390x/tcg/crypto_helper.c b/target/s390x/tcg/crypto_helper.c
index 8fe0a22219..6a5dbe1caf 100644
--- a/target/s390x/tcg/crypto_helper.c
+++ b/target/s390x/tcg/crypto_helper.c
@@ -16,6 +16,7 @@
#include "qemu/guest-random.h"
#include "s390x-internal.h"
#include "tcg_s390x.h"
+#include "exec/cpu-common.h"
#include "exec/helper-proto.h"
#include "accel/tcg/cpu-ldst-common.h"
#include "accel/tcg/cpu-mmu-index.h"
@@ -242,8 +243,8 @@ static int cpacf_sha512(CPUS390XState *env, const int mmu_idx, uintptr_t ra,
return !len ? 0 : 3;
}
-static void fill_buf_random(CPUS390XState *env, const int mmu_idx, uintptr_t ra,
- uint64_t *buf_reg, uint64_t *len_reg)
+static int fill_buf_random(CPUS390XState *env, const int mmu_idx, uintptr_t ra,
+ uint64_t *buf_reg, uint64_t *len_reg)
{
const MemOpIdx oi = make_memop_idx(MO_8, mmu_idx);
uint8_t tmp[256];
@@ -265,7 +266,13 @@ static void fill_buf_random(CPUS390XState *env, const int mmu_idx, uintptr_t ra,
--*len_reg;
}
len -= block;
+
+ if (cpu_loop_exit_requested(env_cpu(env))) {
+ break;
+ }
}
+
+ return len == 0 ? 0 : 3;
}
uint32_t HELPER(msa)(CPUS390XState *env, uint32_t r1, uint32_t r2, uint32_t r3,
@@ -278,6 +285,7 @@ uint32_t HELPER(msa)(CPUS390XState *env, uint32_t r1, uint32_t r2, uint32_t r3,
uint8_t subfunc[16] = { 0 };
uint64_t param_addr;
MemOpIdx oi;
+ int cc;
switch (type) {
case S390_FEAT_TYPE_KMAC:
@@ -308,9 +316,13 @@ uint32_t HELPER(msa)(CPUS390XState *env, uint32_t r1, uint32_t r2, uint32_t r3,
return cpacf_sha512(env, mmu_idx, ra, env->regs[1], &env->regs[r2],
&env->regs[r2 + 1], type);
case 114: /* CPACF_PRNO_TRNG */
- fill_buf_random(env, mmu_idx, ra, &env->regs[r1], &env->regs[r1 + 1]);
- fill_buf_random(env, mmu_idx, ra, &env->regs[r2], &env->regs[r2 + 1]);
- break;
+ cc = fill_buf_random(env, mmu_idx, ra,
+ &env->regs[r1], &env->regs[r1 + 1]);
+ if (cc == 0) {
+ cc = fill_buf_random(env, mmu_idx, ra,
+ &env->regs[r2], &env->regs[r2 + 1]);
+ }
+ return cc;
default:
/* we don't implement any other subfunction yet */
g_assert_not_reached();
--
2.55.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PULL 02/15] tests/tcg/s390x: Test PRNO TRNG interruptibility
2026-08-12 17:16 [PULL 00/15] s390x queue Eric Farman
2026-08-12 17:16 ` [PULL 01/15] target/s390x: Make PRNO TRNG interruptible Eric Farman
@ 2026-08-12 17:16 ` Eric Farman
2026-08-12 17:16 ` [PULL 03/15] target/s390x: Fix DR/D INT64_MIN / -1 host crash Eric Farman
` (12 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Eric Farman @ 2026-08-12 17:16 UTC (permalink / raw)
To: qemu-devel
Cc: qemu-s390x, Matthew Rosato, Cornelia Huck, Ilya Leoshkevich,
Harald Freudenberger, Eric Farman
From: Ilya Leoshkevich <iii@linux.ibm.com>
Add a small test that issues a large PRNO TRNG request while a timer is
running, and checks that the timer interrupts it several times.
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Harald Freudenberger <freude@linux.ibm.com>
Link: https://lore.kernel.org/qemu-devel/20260714191948.342204-3-iii@linux.ibm.com
Signed-off-by: Eric Farman <farman@linux.ibm.com>
---
tests/tcg/s390x/Makefile.target | 1 +
tests/tcg/s390x/prno-trng.c | 67 +++++++++++++++++++++++++++++++++
2 files changed, 68 insertions(+)
create mode 100644 tests/tcg/s390x/prno-trng.c
diff --git a/tests/tcg/s390x/Makefile.target b/tests/tcg/s390x/Makefile.target
index 0ca030ded0..48cba4cdfa 100644
--- a/tests/tcg/s390x/Makefile.target
+++ b/tests/tcg/s390x/Makefile.target
@@ -75,6 +75,7 @@ Z13_TESTS+=vcksm
Z13_TESTS+=vstl
Z13_TESTS+=vrep
Z13_TESTS+=precise-smc-user
+Z13_TESTS+=prno-trng
$(Z13_TESTS): CFLAGS+=-march=z13 -O2
TESTS+=$(Z13_TESTS)
diff --git a/tests/tcg/s390x/prno-trng.c b/tests/tcg/s390x/prno-trng.c
new file mode 100644
index 0000000000..43eea5db1d
--- /dev/null
+++ b/tests/tcg/s390x/prno-trng.c
@@ -0,0 +1,67 @@
+/*
+ * Test that PERFORM RANDOM NUMBER OPERATION TRNG is interruptible.
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+#include <assert.h>
+#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/time.h>
+#include <asm/ucontext.h>
+
+static unsigned char buf1[16 * 1024 * 1024];
+static unsigned char buf2[16 * 1024 * 1024];
+
+static volatile sig_atomic_t interrupted;
+
+static void sigprof_handler(int sig, siginfo_t *info, void *ucontext)
+{
+ struct ucontext *uc = ucontext;
+ unsigned long addr = uc->uc_mcontext.regs.psw.addr;
+
+ if (*(unsigned short *)(addr - 4) == 0xb93c) {
+ interrupted++;
+ }
+}
+
+static void prno_trng(void *b1, unsigned long l1, void *b2, unsigned long l2)
+{
+ register unsigned long r0 asm("r0") = 114; /* TRNG */
+ register unsigned long r2 asm("r2") = (unsigned long)b1;
+ register unsigned long r3 asm("r3") = l1;
+ register unsigned long r4 asm("r4") = (unsigned long)b2;
+ register unsigned long r5 asm("r5") = l2;
+
+ asm volatile("0: ppno %[r2],%[r4]\n" /* prno alias for old toolchains */
+ " jo 0b"
+ : [r2] "+r" (r2), [r3] "+r" (r3)
+ , [r4] "+r" (r4), [r5] "+r" (r5)
+ : "r" (r0)
+ : "cc", "memory");
+}
+
+int main(void)
+{
+ struct itimerval it = {
+ .it_interval = { .tv_usec = 10000 }, /* 0.01s */
+ .it_value = { .tv_usec = 10000 },
+ };
+ struct sigaction act = {
+ .sa_sigaction = sigprof_handler,
+ .sa_flags = SA_SIGINFO,
+ };
+ int err;
+
+ err = sigaction(SIGPROF, &act, NULL);
+ assert(err == 0);
+ err = setitimer(ITIMER_PROF, &it, NULL);
+ assert(err == 0);
+
+ prno_trng(buf1, sizeof(buf1), buf2, sizeof(buf2));
+ printf("interrupted %d times\n", interrupted);
+ assert(interrupted >= 3);
+
+ return EXIT_SUCCESS;
+}
--
2.55.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PULL 03/15] target/s390x: Fix DR/D INT64_MIN / -1 host crash
2026-08-12 17:16 [PULL 00/15] s390x queue Eric Farman
2026-08-12 17:16 ` [PULL 01/15] target/s390x: Make PRNO TRNG interruptible Eric Farman
2026-08-12 17:16 ` [PULL 02/15] tests/tcg/s390x: Test PRNO TRNG interruptibility Eric Farman
@ 2026-08-12 17:16 ` Eric Farman
2026-08-12 17:16 ` [PULL 04/15] tests/tcg/s390x: Test DR overflow (INT64_MIN / -1) Eric Farman
` (11 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Eric Farman @ 2026-08-12 17:16 UTC (permalink / raw)
To: qemu-devel
Cc: qemu-s390x, Matthew Rosato, Cornelia Huck, Ilya Leoshkevich,
Christian Borntraeger, qemu-stable, Richard Henderson,
Eric Farman
From: Ilya Leoshkevich <iii@linux.ibm.com>
helper_divs32() divides the 64-bit dividend by the 32-bit divisor as a 64-bit
host operation, guarding only against a zero divisor. INT64_MIN / -1 therefore
overflows the host division before the representability check runs; on hosts
that trap this, QEMU is killed with SIGFPE instead of raising the
fixed-point-divide exception the guest expects:
qemu-s390x: QEMU internal SIGFPE {code=INTDIV, addr=...}
helper_divs64() already guards the same case; add the missing check to
helper_divs32().
Reported-by: Christian Borntraeger <borntraeger@linux.ibm.com>
Fixes: b4e2bd3563af ("target-s390: Send signals for divide")
Cc: qemu-stable@nongnu.org
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Link: https://lore.kernel.org/qemu-devel/20260714190351.337923-2-iii@linux.ibm.com
Signed-off-by: Eric Farman <farman@linux.ibm.com>
---
target/s390x/tcg/int_helper.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/target/s390x/tcg/int_helper.c b/target/s390x/tcg/int_helper.c
index fbda396f5b..5aedd1405b 100644
--- a/target/s390x/tcg/int_helper.c
+++ b/target/s390x/tcg/int_helper.c
@@ -39,7 +39,8 @@ uint64_t HELPER(divs32)(CPUS390XState *env, int64_t a, int64_t b64)
int32_t b = b64;
int64_t q, r;
- if (b == 0) {
+ /* Catch divide by zero, and non-representable quotient (MIN / -1). */
+ if (b == 0 || (b == -1 && a == (1ll << 63))) {
tcg_s390_program_interrupt(env, PGM_FIXPT_DIVIDE, GETPC());
}
--
2.55.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PULL 04/15] tests/tcg/s390x: Test DR overflow (INT64_MIN / -1)
2026-08-12 17:16 [PULL 00/15] s390x queue Eric Farman
` (2 preceding siblings ...)
2026-08-12 17:16 ` [PULL 03/15] target/s390x: Fix DR/D INT64_MIN / -1 host crash Eric Farman
@ 2026-08-12 17:16 ` Eric Farman
2026-08-12 17:16 ` [PULL 05/15] hw/char/sclpconsole-lm: avoid guest triggerable assert Eric Farman
` (10 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Eric Farman @ 2026-08-12 17:16 UTC (permalink / raw)
To: qemu-devel
Cc: qemu-s390x, Matthew Rosato, Cornelia Huck, Ilya Leoshkevich,
Richard Henderson, Eric Farman
From: Ilya Leoshkevich <iii@linux.ibm.com>
Check that DR with a non-representable quotient raises SIGFPE rather than
crashing the emulator.
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Link: https://lore.kernel.org/qemu-devel/20260714190351.337923-3-iii@linux.ibm.com
Signed-off-by: Eric Farman <farman@linux.ibm.com>
---
tests/tcg/s390x/div.c | 37 +++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)
diff --git a/tests/tcg/s390x/div.c b/tests/tcg/s390x/div.c
index 6ad9900e08..124c9ecc33 100644
--- a/tests/tcg/s390x/div.c
+++ b/tests/tcg/s390x/div.c
@@ -1,6 +1,15 @@
#include <assert.h>
+#include <signal.h>
#include <stdint.h>
+/* Set asynchronously by the signal handler. */
+static volatile int signum;
+
+static void signal_handler(int n)
+{
+ signum = n;
+}
+
static void test_dr(void)
{
register int32_t r0 asm("r0") = -1;
@@ -65,11 +74,39 @@ static void test_dlgr(void)
assert(r == 1);
}
+/*
+ * The most negative dividend divided by -1 yields a quotient that does not
+ * fit into 32 bits, so DR must raise a fixed-point-divide exception.
+ */
+static void test_dr_overflow(void)
+{
+ struct sigaction act = { .sa_handler = signal_handler };
+ register int32_t r0 asm("r0");
+ register int32_t r1 asm("r1");
+ int32_t b = -1;
+ int err;
+
+ err = sigaction(SIGFPE, &act, NULL);
+ assert(err == 0);
+ signum = -1;
+
+ r0 = 0x80000000;
+ r1 = 0;
+ asm volatile("dr %[r0],%[b]"
+ : [r0] "+r" (r0), [r1] "+r" (r1)
+ : [b] "r" (b)
+ : "cc");
+ assert(signum == SIGFPE);
+
+ signal(SIGFPE, SIG_DFL);
+}
+
int main(void)
{
test_dr();
test_dlr();
test_dsgr();
test_dlgr();
+ test_dr_overflow();
return 0;
}
--
2.55.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PULL 05/15] hw/char/sclpconsole-lm: avoid guest triggerable assert
2026-08-12 17:16 [PULL 00/15] s390x queue Eric Farman
` (3 preceding siblings ...)
2026-08-12 17:16 ` [PULL 04/15] tests/tcg/s390x: Test DR overflow (INT64_MIN / -1) Eric Farman
@ 2026-08-12 17:16 ` Eric Farman
2026-08-12 17:16 ` [PULL 06/15] s390x/ipl: validate num_comp against iplb length before iterating Eric Farman
` (9 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Eric Farman @ 2026-08-12 17:16 UTC (permalink / raw)
To: qemu-devel
Cc: qemu-s390x, Matthew Rosato, Cornelia Huck, Christian Borntraeger,
qemu-stable, Eric Farman
From: Christian Borntraeger <borntraeger@linux.ibm.com>
If a guest uses incorrect message length it can trigger an assert in
process_mdb which kills the guest instead of reporting an error. Fix
this by adding the correct length check.
Fixes: 6a444f8507 ("s390/sclplmconsole: Add support for SCLP line-mode console")
Cc: qemu-stable@nongnu.org
Signed-off-by: Christian Borntraeger <borntraeger@linux.ibm.com>
Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>
Reviewed-by: Eric Farman <farman@linux.ibm.com>
Link: https://lore.kernel.org/qemu-devel/20260727115052.24289-2-borntraeger@linux.ibm.com
[farman@linux.ibm.com: Fixed typo in commit message, added qemu-stable]
Signed-off-by: Eric Farman <farman@linux.ibm.com>
---
hw/char/sclpconsole-lm.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/hw/char/sclpconsole-lm.c b/hw/char/sclpconsole-lm.c
index 9a16896d22..f6ed282f1b 100644
--- a/hw/char/sclpconsole-lm.c
+++ b/hw/char/sclpconsole-lm.c
@@ -243,7 +243,8 @@ static int write_event_data(SCLPEvent *event, EventBufferHeader *ebh)
SCLPConsoleLM *scon = SCLPLM_CONSOLE(event);
len = be16_to_cpu(data->mdb.header.length);
- if (len < sizeof(data->mdb.header)) {
+ if (len < sizeof(data->mdb.header) ||
+ len > be16_to_cpu(data->header.length) - sizeof(EventBufferHeader)) {
return SCLP_RC_INCONSISTENT_LENGTHS;
}
len -= sizeof(data->mdb.header);
--
2.55.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PULL 06/15] s390x/ipl: validate num_comp against iplb length before iterating
2026-08-12 17:16 [PULL 00/15] s390x queue Eric Farman
` (4 preceding siblings ...)
2026-08-12 17:16 ` [PULL 05/15] hw/char/sclpconsole-lm: avoid guest triggerable assert Eric Farman
@ 2026-08-12 17:16 ` Eric Farman
2026-08-12 17:16 ` [PULL 07/15] pc-bios/s390-ccw: fix out-of-bounds read in iso_get_file_size() Eric Farman
` (8 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Eric Farman @ 2026-08-12 17:16 UTC (permalink / raw)
To: qemu-devel
Cc: qemu-s390x, Matthew Rosato, Cornelia Huck, Joshua Daley,
qemu-stable, Christian Borntraeger, Eric Farman
From: Joshua Daley <jdaley@linux.ibm.com>
In ipl_valid_pv_components(), the upper bound of the for loop,
ipib_pv->num_comp, is read from guest memory. Before iterating, verify
that its value will not cause a read beyond the end of the
IplParameterBlock.
Fixes: c3347ed0d2ee42a7 ("s390x: protvirt: Support unpack facility")
Cc: qemu-stable@nongnu.org
Signed-off-by: Joshua Daley <jdaley@linux.ibm.com>
Reviewed-by: Christian Borntraeger <borntraeger@linux.ibm.com>
Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>
Reviewed-by: Eric Farman <farman@linux.ibm.com>
Link: https://lore.kernel.org/qemu-devel/20260727115052.24289-3-borntraeger@linux.ibm.com
[farman@linux.ibm.com: Added qemu-stable]
Signed-off-by: Eric Farman <farman@linux.ibm.com>
---
hw/s390x/ipl.h | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/hw/s390x/ipl.h b/hw/s390x/ipl.h
index fac30763df..ef9c063d90 100644
--- a/hw/s390x/ipl.h
+++ b/hw/s390x/ipl.h
@@ -124,6 +124,12 @@ static inline bool ipl_valid_pv_components(IplParameterBlock *iplb)
return false;
}
+ if (offsetof(IplParameterBlock, pv.components) +
+ ipib_pv->num_comp * sizeof(IPLBlockPVComp) >
+ be32_to_cpu(iplb->len)) {
+ return false;
+ }
+
for (i = 0; i < ipib_pv->num_comp; i++) {
/* Addr must be 4k aligned */
if (ipib_pv->components[i].addr & ~TARGET_PAGE_MASK) {
--
2.55.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PULL 07/15] pc-bios/s390-ccw: fix out-of-bounds read in iso_get_file_size()
2026-08-12 17:16 [PULL 00/15] s390x queue Eric Farman
` (5 preceding siblings ...)
2026-08-12 17:16 ` [PULL 06/15] s390x/ipl: validate num_comp against iplb length before iterating Eric Farman
@ 2026-08-12 17:16 ` Eric Farman
2026-08-12 17:17 ` [PULL 08/15] pc-bios/s390-ccw: bounds-check zipl menu entry index before array write Eric Farman
` (7 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Eric Farman @ 2026-08-12 17:16 UTC (permalink / raw)
To: qemu-devel
Cc: qemu-s390x, Matthew Rosato, Cornelia Huck, Joshua Daley,
qemu-stable, Christian Borntraeger, Eric Farman
From: Joshua Daley <jdaley@linux.ibm.com>
In the dir_rem[level] == 0 case, level is decremented, then
a virtio_read() is issued on sec_loc[level]. If level is -1, then the
4 bytes before the static sec_loc array are read, and the virtio_read()
is issued on that garbage block number.
Guard the call to virtio_read() against the value of level to prevent
this.
Fixes: 869648e87eeb ("pc-bios/s390-ccw: El Torito 16-bit boot image size field workaround")
Cc: qemu-stable@nongnu.org
Signed-off-by: Joshua Daley <jdaley@linux.ibm.com>
Reviewed-by: Christian Borntraeger <borntraeger@linux.ibm.com>
Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>
Reviewed-by: Eric Farman <farman@linux.ibm.com>
Link: https://lore.kernel.org/qemu-devel/20260727115052.24289-4-borntraeger@linux.ibm.com
[farman@linux.ibm.com: Fixed typo on Christian's tag, added qemu-stable]
Signed-off-by: Eric Farman <farman@linux.ibm.com>
---
pc-bios/s390-ccw/bootmap.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pc-bios/s390-ccw/bootmap.c b/pc-bios/s390-ccw/bootmap.c
index 420ee32eff..ed6e8cbbc7 100644
--- a/pc-bios/s390-ccw/bootmap.c
+++ b/pc-bios/s390-ccw/bootmap.c
@@ -902,7 +902,7 @@ static inline long iso_get_file_size(uint32_t load_rba)
if (dir_rem[level] == 0) {
/* Nothing remaining */
level--;
- if (virtio_read(sec_loc[level], temp)) {
+ if (level >= 0 && virtio_read(sec_loc[level], temp)) {
puts("Failed to read ISO directory");
return -EIO;
}
--
2.55.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PULL 08/15] pc-bios/s390-ccw: bounds-check zipl menu entry index before array write
2026-08-12 17:16 [PULL 00/15] s390x queue Eric Farman
` (6 preceding siblings ...)
2026-08-12 17:16 ` [PULL 07/15] pc-bios/s390-ccw: fix out-of-bounds read in iso_get_file_size() Eric Farman
@ 2026-08-12 17:17 ` Eric Farman
2026-08-12 17:17 ` [PULL 09/15] pc-bios/s390-ccw: bound zipl menu strlen and replace VLA in zipl_print_entry Eric Farman
` (6 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Eric Farman @ 2026-08-12 17:17 UTC (permalink / raw)
To: qemu-devel
Cc: qemu-s390x, Matthew Rosato, Cornelia Huck, Joshua Daley,
qemu-stable, Eric Farman
From: Joshua Daley <jdaley@linux.ibm.com>
menu_get_zipl_boot_index() iterates NUL-separated strings from the
zipl stage-2 boot-menu block, passes each to zipl_print_entry() which
converts EBCDIC to ASCII and returns atoi(), then writes true into
valid_entries[entry]. valid_entries is a MAX_BOOT_ENTRIES element
stack array, but entry was never bounds-checked, so a crafted on-disk
value could index arbitrarily beyond the array.
Fix this in two places:
- zipl_print_entry() now validates that the first significant character
(after an optional leading space) is a digit. Entries that fail this
check return -1 without printing.
- menu_get_zipl_boot_index() skips any entry whose index is outside
[0, MAX_BOOT_ENTRIES) before writing to valid_entries[].
Fixes: 7385e947fc65 ("pc-bios/s390-ccw: fix non-sequential boot entries (eckd)")
Cc: qemu-stable@nongnu.org
Signed-off-by: Joshua Daley <jdaley@linux.ibm.com>
Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>
Reviewed-by: Eric Farman <farman@linux.ibm.com>
Link: https://lore.kernel.org/qemu-devel/20260727115052.24289-5-borntraeger@linux.ibm.com
[farman@linux.ibm.com: Added qemu-stable]
Signed-off-by: Eric Farman <farman@linux.ibm.com>
---
| 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
--git a/pc-bios/s390-ccw/menu.c b/pc-bios/s390-ccw/menu.c
index eeaff78f87..b6a9a56d46 100644
--- a/pc-bios/s390-ccw/menu.c
+++ b/pc-bios/s390-ccw/menu.c
@@ -176,18 +176,24 @@ int menu_get_boot_index(bool *valid_entries)
return boot_index;
}
-/* Returns the entry number that was printed */
+/* Returns the entry number that was printed, or -1 on invalid entry */
static int zipl_print_entry(const char *data, size_t len)
{
char buf[len + 2];
+ const char *p;
ebcdic_to_ascii(data, buf, len);
buf[len] = '\n';
buf[len + 1] = '\0';
+ p = (buf[0] == ' ') ? buf + 1 : buf;
+ if (!isdigit((unsigned char)*p)) {
+ return -1;
+ }
+
printf("%s", buf);
- return buf[0] == ' ' ? atoi(buf + 1) : atoi(buf);
+ return atoi(p);
}
int menu_get_zipl_boot_index(const char *menu_data)
@@ -216,6 +222,9 @@ int menu_get_zipl_boot_index(const char *menu_data)
entry = zipl_print_entry(menu_data, len);
menu_data += len + 1;
+ if (entry < 0 || entry >= MAX_BOOT_ENTRIES) {
+ continue;
+ }
valid_entries[entry] = true;
if (entry == 0) {
--
2.55.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PULL 09/15] pc-bios/s390-ccw: bound zipl menu strlen and replace VLA in zipl_print_entry
2026-08-12 17:16 [PULL 00/15] s390x queue Eric Farman
` (7 preceding siblings ...)
2026-08-12 17:17 ` [PULL 08/15] pc-bios/s390-ccw: bounds-check zipl menu entry index before array write Eric Farman
@ 2026-08-12 17:17 ` Eric Farman
2026-08-12 17:17 ` [PULL 10/15] pc-bios/s390-ccw: Fix off-by-one errors with loadparm and boot entries Eric Farman
` (5 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Eric Farman @ 2026-08-12 17:17 UTC (permalink / raw)
To: qemu-devel
Cc: qemu-s390x, Matthew Rosato, Cornelia Huck, Joshua Daley,
qemu-stable, Eric Farman
From: Joshua Daley <jdaley@linux.ibm.com>
menu_get_zipl_boot_index() calls strlen() on a pointer into the middle
of _s2 with no upper bound, so a stage-2 image whose blocks contain no
NUL bytes causes strlen() to walk beyond _s2. The resulting length
is then used to size a stack VLA in zipl_print_entry(), risking a stack
overflow.
Fix by:
- Implementing strnlen(), a bounded version of strlen(). s390-ccw uses
libc from SLOF, which includes strlen() but does not have an
implementation of strnlen(), so we must implement our own.
- Adding a menu_data_end parameter to menu_get_zipl_boot_index() and
replacing both strlen() calls with strnlen() bounded by the remaining
buffer space. The loop guard also checks that the pointer has not
reached menu_data_end. The function returns 0 (boot default) if
somehow menu_data reaches menu_data_end before printing any entries.
- Replacing the VLA char buf[len + 2] in zipl_print_entry() with a fixed
ZIPL_ENTRY_MAX + 2 (82-byte) buffer and truncating len before use.
- Passing s2_end (_s2 + sizeof(_s2)) as menu_data_end at the one call
site in eckd_get_boot_menu_index(), so the bound is exactly the end of
the buffer.
Fixes: f7178910845a ("s390-ccw: print zipl boot menu")
Cc: qemu-stable@nongnu.org
Signed-off-by: Joshua Daley <jdaley@linux.ibm.com>
Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>
Link: https://lore.kernel.org/qemu-devel/20260728134704.2924005-2-jdaley@linux.ibm.com
[farman@linux.ibm.com: Per list, add strnlen rationale to commit message
and added cc stable]
Signed-off-by: Eric Farman <farman@linux.ibm.com>
---
pc-bios/s390-ccw/bootmap.c | 4 +++-
pc-bios/s390-ccw/helper.h | 10 ++++++++++
| 29 +++++++++++++++++++++++------
pc-bios/s390-ccw/s390-ccw.h | 2 +-
4 files changed, 37 insertions(+), 8 deletions(-)
diff --git a/pc-bios/s390-ccw/bootmap.c b/pc-bios/s390-ccw/bootmap.c
index ed6e8cbbc7..81512265ce 100644
--- a/pc-bios/s390-ccw/bootmap.c
+++ b/pc-bios/s390-ccw/bootmap.c
@@ -61,6 +61,7 @@ static uint8_t _s2[MAX_SECTOR_SIZE * 3] __attribute__((__aligned__(PAGE_SIZE)));
static void *s2_prev_blk = _s2;
static void *s2_cur_blk = _s2 + MAX_SECTOR_SIZE;
static void *s2_next_blk = _s2 + MAX_SECTOR_SIZE * 2;
+static void *s2_end = _s2 + sizeof(_s2);
static inline int verify_boot_info(BootInfo *bip)
{
@@ -308,7 +309,8 @@ static int eckd_get_boot_menu_index(block_number_t s1b_block_nr)
}
}
- return menu_get_zipl_boot_index(s2_cur_blk + banner_offset);
+ return menu_get_zipl_boot_index(s2_cur_blk + banner_offset,
+ s2_end);
}
prev_block_nr = cur_block_nr;
diff --git a/pc-bios/s390-ccw/helper.h b/pc-bios/s390-ccw/helper.h
index 8e3dfcb6d6..d9b7da444a 100644
--- a/pc-bios/s390-ccw/helper.h
+++ b/pc-bios/s390-ccw/helper.h
@@ -45,4 +45,14 @@ static inline void sleep(unsigned int seconds)
}
}
+static inline size_t strnlen(const char *s, size_t maxlen)
+{
+ size_t len = 0;
+
+ while (len < maxlen && s[len]) {
+ len++;
+ }
+ return len;
+}
+
#endif
--git a/pc-bios/s390-ccw/menu.c b/pc-bios/s390-ccw/menu.c
index b6a9a56d46..9b81154b0e 100644
--- a/pc-bios/s390-ccw/menu.c
+++ b/pc-bios/s390-ccw/menu.c
@@ -16,6 +16,7 @@
#include "s390-ccw.h"
#include "sclp.h"
#include "s390-time.h"
+#include "helper.h"
#define KEYCODE_NO_INP '\0'
#define KEYCODE_ESCAPE '\033'
@@ -26,6 +27,9 @@
#define ZIPL_TIMEOUT_OFFSET 138
#define ZIPL_FLAG_OFFSET 140
+/* Max printable chars for a zipl boot menu entry */
+#define ZIPL_ENTRY_MAX 80
+
#define TOD_CLOCK_MILLISECOND 0x3e8000
#define LOW_CORE_EXTERNAL_INT_ADDR 0x86
@@ -179,9 +183,13 @@ int menu_get_boot_index(bool *valid_entries)
/* Returns the entry number that was printed, or -1 on invalid entry */
static int zipl_print_entry(const char *data, size_t len)
{
- char buf[len + 2];
+ char buf[ZIPL_ENTRY_MAX + 2];
const char *p;
+ if (len > ZIPL_ENTRY_MAX) {
+ len = ZIPL_ENTRY_MAX;
+ }
+
ebcdic_to_ascii(data, buf, len);
buf[len] = '\n';
buf[len + 1] = '\0';
@@ -196,7 +204,7 @@ static int zipl_print_entry(const char *data, size_t len)
return atoi(p);
}
-int menu_get_zipl_boot_index(const char *menu_data)
+int menu_get_zipl_boot_index(const char *menu_data, const char *menu_data_end)
{
size_t len;
int entry;
@@ -212,13 +220,22 @@ int menu_get_zipl_boot_index(const char *menu_data)
timeout = zipl_timeout * 1000;
}
- /* Print banner */
+ if (menu_data >= menu_data_end) {
+ return 0; /* Boot default */
+ }
+
+ /* Skip banner */
+ len = strnlen(menu_data, menu_data_end - menu_data);
+ menu_data += len + 1;
+ if (menu_data >= menu_data_end || !(*menu_data)) {
+ return 0; /* No entries, boot default */
+ }
+
puts("s390-ccw zIPL Boot Menu\n");
- menu_data += strlen(menu_data) + 1;
/* Print entries */
- while (*menu_data) {
- len = strlen(menu_data);
+ while (menu_data < menu_data_end && *menu_data) {
+ len = strnlen(menu_data, menu_data_end - menu_data);
entry = zipl_print_entry(menu_data, len);
menu_data += len + 1;
diff --git a/pc-bios/s390-ccw/s390-ccw.h b/pc-bios/s390-ccw/s390-ccw.h
index 1e1f71775e..f6030a6071 100644
--- a/pc-bios/s390-ccw/s390-ccw.h
+++ b/pc-bios/s390-ccw/s390-ccw.h
@@ -76,7 +76,7 @@ void jump_to_low_kernel(void);
/* menu.c */
void menu_set_parms(uint8_t boot_menu_flag, uint32_t boot_menu_timeout);
-int menu_get_zipl_boot_index(const char *menu_data);
+int menu_get_zipl_boot_index(const char *menu_data, const char *menu_data_end);
bool menu_is_enabled_zipl(void);
int menu_get_enum_boot_index(bool *valid_entries);
bool menu_is_enabled_enum(void);
--
2.55.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PULL 10/15] pc-bios/s390-ccw: Fix off-by-one errors with loadparm and boot entries
2026-08-12 17:16 [PULL 00/15] s390x queue Eric Farman
` (8 preceding siblings ...)
2026-08-12 17:17 ` [PULL 09/15] pc-bios/s390-ccw: bound zipl menu strlen and replace VLA in zipl_print_entry Eric Farman
@ 2026-08-12 17:17 ` Eric Farman
2026-08-12 17:17 ` [PULL 11/15] target/s390x/tcg: Set STCK/STCKF condition code after the store Eric Farman
` (4 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Eric Farman @ 2026-08-12 17:17 UTC (permalink / raw)
To: qemu-devel
Cc: qemu-s390x, Matthew Rosato, Cornelia Huck, Jared Rossi,
qemu-stable, Eric Farman
From: Jared Rossi <jrossi@linux.ibm.com>
The loadparm may optionally be used to select a boot entry, with the
intended range being 0 through 31 inclusive, for a total of 32 entries.
Previously, MAX_BOOT_ENTRIES was defined as 31, indicating that it was
intended to correspond to the index of the boot entry rather than the
count; however, some guards also used MAX_BOOT_ENTRIES as a count of the
maximum allowed entries, which resulted in a mismatch between the intended
and actual range such that index 31 could never be used in practice.
Move the definition of MAX_BOOT_ENTRIES to qipl.h so it is shared and
change the value to 32, representing a count of the maximum number of
allowed boot entries and allowing the loadparm to accept values 0 through
31 as intended. Update some instances in the netboot code where
MAX_BOOT_ENTRIES was used as the max index so that all guards treat
MAX_BOOT_ENTRIES as a count across all boot methods.
Cc: qemu-stable@nongnu.org
Fixes: 806315279d5c ("pc-bios/s390-ccw: Remove panics from ECKD IPL path")
Signed-off-by: Jared Rossi <jrossi@linux.ibm.com>
Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>
Link: https://lore.kernel.org/qemu-devel/20260728223013.4047042-1-jrossi@linux.ibm.com
Signed-off-by: Eric Farman <farman@linux.ibm.com>
---
include/hw/s390x/ipl/qipl.h | 2 ++
pc-bios/s390-ccw/netmain.c | 11 +++++++----
pc-bios/s390-ccw/s390-ccw.h | 2 --
3 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/include/hw/s390x/ipl/qipl.h b/include/hw/s390x/ipl/qipl.h
index 8d3c83a80b..b390f2f112 100644
--- a/include/hw/s390x/ipl/qipl.h
+++ b/include/hw/s390x/ipl/qipl.h
@@ -20,6 +20,8 @@
#define LOADPARM_LEN 8
#define NO_LOADPARM "\0\0\0\0\0\0\0\0"
+#define MAX_BOOT_ENTRIES 32
+
enum S390IplType {
S390_IPL_TYPE_FCP = 0x00,
S390_IPL_TYPE_CCW = 0x02,
diff --git a/pc-bios/s390-ccw/netmain.c b/pc-bios/s390-ccw/netmain.c
index 651cedf6ef..791854fce0 100644
--- a/pc-bios/s390-ccw/netmain.c
+++ b/pc-bios/s390-ccw/netmain.c
@@ -40,6 +40,9 @@
#define DEFAULT_BOOT_RETRIES 10
#define DEFAULT_TFTP_RETRIES 20
+/* Index 0 is reserved for default alias, start PXE cfg indices at 1 */
+#define PXECFG_MAX (MAX_BOOT_ENTRIES - 1)
+
extern char _start[];
#define KERNEL_ADDR ((void *)0L)
@@ -381,13 +384,13 @@ static int net_select_and_load_kernel(filename_ip_t *fn_ip,
static int net_try_pxelinux_cfg(filename_ip_t *fn_ip)
{
- struct pl_cfg_entry entries[MAX_BOOT_ENTRIES];
+ struct pl_cfg_entry entries[PXECFG_MAX];
int num_ent, def_ent = 0;
num_ent = pxelinux_load_parse_cfg(fn_ip, mac, get_uuid(),
DEFAULT_TFTP_RETRIES,
cfgbuf, sizeof(cfgbuf),
- entries, MAX_BOOT_ENTRIES, &def_ent);
+ entries, PXECFG_MAX, &def_ent);
return net_select_and_load_kernel(fn_ip, num_ent, def_ent, entries);
}
@@ -470,11 +473,11 @@ static int net_try_direct_tftp_load(filename_ip_t *fn_ip)
* a magic comment string.
*/
if (!strncasecmp("# pxelinux", cfgbuf, 10)) {
- struct pl_cfg_entry entries[MAX_BOOT_ENTRIES];
+ struct pl_cfg_entry entries[PXECFG_MAX];
int num_ent, def_ent = 0;
num_ent = pxelinux_parse_cfg(cfgbuf, sizeof(cfgbuf), entries,
- MAX_BOOT_ENTRIES, &def_ent);
+ PXECFG_MAX, &def_ent);
return net_select_and_load_kernel(fn_ip, num_ent, def_ent,
entries);
}
diff --git a/pc-bios/s390-ccw/s390-ccw.h b/pc-bios/s390-ccw/s390-ccw.h
index f6030a6071..25aac91d45 100644
--- a/pc-bios/s390-ccw/s390-ccw.h
+++ b/pc-bios/s390-ccw/s390-ccw.h
@@ -82,8 +82,6 @@ int menu_get_enum_boot_index(bool *valid_entries);
bool menu_is_enabled_enum(void);
int menu_get_boot_index(bool *valid_entries);
-#define MAX_BOOT_ENTRIES 31
-
__attribute__ ((__noreturn__))
static inline void panic(const char *string)
{
--
2.55.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PULL 11/15] target/s390x/tcg: Set STCK/STCKF condition code after the store
2026-08-12 17:16 [PULL 00/15] s390x queue Eric Farman
` (9 preceding siblings ...)
2026-08-12 17:17 ` [PULL 10/15] pc-bios/s390-ccw: Fix off-by-one errors with loadparm and boot entries Eric Farman
@ 2026-08-12 17:17 ` Eric Farman
2026-08-12 17:17 ` [PULL 12/15] tests/tcg/s390x: Test STCKF condition code on a faulting store Eric Farman
` (3 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Eric Farman @ 2026-08-12 17:17 UTC (permalink / raw)
To: qemu-devel
Cc: qemu-s390x, Matthew Rosato, Cornelia Huck, Ilya Leoshkevich,
Ido Plat, qemu-stable, Eric Farman
From: Ilya Leoshkevich <iii@linux.ibm.com>
STORE CLOCK [FAST] to an inaccessible address aborts QEMU:
$ qemu-s390x ./stckf
ERROR:cc_helper.c:128:cc_calc_addu: assertion failed: (carry_out <= 1)
op_stck() sets the condition code with gen_op_movi_cc() before the
output operand store, which is deferred to wout_m1_64(). Assigning a
constant condition code discards the lazy CC values, so the optimizer
drops the writes that produced them. When the store then raises an
exception, the instruction is suppressed and
s390x_restore_state_to_opc() reinstates the cc_op recorded at the start
of STCK[F], but cc_src/cc_dst now hold stale values, so the next
condition code evaluation reads garbage.
Fix by performing the store manually. The alternative of not discarding
in gen_op_movi_cc() keeps the inputs live, but results in less optimal
code.
Reported-by: Ido Plat <Ido.Plat1@ibm.com>
Fixes: 434c91a5f4ed ("target-s390: Convert STCK")
Cc: qemu-stable@nongnu.org
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Eric Farman <farman@linux.ibm.com>
Link: https://lore.kernel.org/qemu-devel/20260714203206.363028-2-iii@linux.ibm.com
Signed-off-by: Eric Farman <farman@linux.ibm.com>
---
target/s390x/tcg/insn-data.h.inc | 4 ++--
target/s390x/tcg/translate.c | 2 ++
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/target/s390x/tcg/insn-data.h.inc b/target/s390x/tcg/insn-data.h.inc
index 0d5392eac5..1ea72248a6 100644
--- a/target/s390x/tcg/insn-data.h.inc
+++ b/target/s390x/tcg/insn-data.h.inc
@@ -887,8 +887,8 @@
C(0xe32f, STRVG, RXY_a, Z, la2, r1_o, new, m1_64, rev64, 0)
/* STORE CLOCK */
- F(0xb205, STCK, S, Z, la2, 0, new, m1_64, stck, 0, IF_IO)
- F(0xb27c, STCKF, S, SCF, la2, 0, new, m1_64, stck, 0, IF_IO)
+ F(0xb205, STCK, S, Z, la2, 0, new, 0, stck, 0, IF_IO)
+ F(0xb27c, STCKF, S, SCF, la2, 0, new, 0, stck, 0, IF_IO)
/* STORE CLOCK EXTENDED */
F(0xb278, STCKE, S, Z, 0, a2, 0, 0, stcke, 0, IF_IO)
diff --git a/target/s390x/tcg/translate.c b/target/s390x/tcg/translate.c
index 82165ac1ec..1b6023168b 100644
--- a/target/s390x/tcg/translate.c
+++ b/target/s390x/tcg/translate.c
@@ -4108,7 +4108,9 @@ static DisasJumpType op_stap(DisasContext *s, DisasOps *o)
static DisasJumpType op_stck(DisasContext *s, DisasOps *o)
{
gen_helper_stck(o->out, tcg_env);
+ tcg_gen_qemu_st_i64(o->out, o->addr1, get_mem_index(s), MO_BEUQ);
/* ??? We don't implement clock states. */
+ /* Set the CC after the store; a suppressed store must preserve it. */
gen_op_movi_cc(s, 0);
return DISAS_NEXT;
}
--
2.55.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PULL 12/15] tests/tcg/s390x: Test STCKF condition code on a faulting store
2026-08-12 17:16 [PULL 00/15] s390x queue Eric Farman
` (10 preceding siblings ...)
2026-08-12 17:17 ` [PULL 11/15] target/s390x/tcg: Set STCK/STCKF condition code after the store Eric Farman
@ 2026-08-12 17:17 ` Eric Farman
2026-08-12 17:17 ` [PULL 13/15] target/s390x: Allow 2G hugepages guest backing Eric Farman
` (2 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Eric Farman @ 2026-08-12 17:17 UTC (permalink / raw)
To: qemu-devel
Cc: qemu-s390x, Matthew Rosato, Cornelia Huck, Ilya Leoshkevich,
Eric Farman
From: Ilya Leoshkevich <iii@linux.ibm.com>
Add a small test to prevent regressions.
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Eric Farman <farman@linux.ibm.com>
Link: https://lore.kernel.org/qemu-devel/20260714203206.363028-3-iii@linux.ibm.com
Signed-off-by: Eric Farman <farman@linux.ibm.com>
---
tests/tcg/s390x/Makefile.target | 1 +
tests/tcg/s390x/stckf.c | 44 +++++++++++++++++++++++++++++++++
2 files changed, 45 insertions(+)
create mode 100644 tests/tcg/s390x/stckf.c
diff --git a/tests/tcg/s390x/Makefile.target b/tests/tcg/s390x/Makefile.target
index 48cba4cdfa..97c0f02190 100644
--- a/tests/tcg/s390x/Makefile.target
+++ b/tests/tcg/s390x/Makefile.target
@@ -50,6 +50,7 @@ TESTS+=cvb
TESTS+=ts
TESTS+=ex-smc
TESTS+=divide-to-integer
+TESTS+=stckf
cdsg: CFLAGS+=-pthread
cdsg: LDFLAGS+=-pthread
diff --git a/tests/tcg/s390x/stckf.c b/tests/tcg/s390x/stckf.c
new file mode 100644
index 0000000000..51c8c9df9f
--- /dev/null
+++ b/tests/tcg/s390x/stckf.c
@@ -0,0 +1,44 @@
+/*
+ * Test that a faulting STORE CLOCK FAST does not clobber the condition code.
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+#include <assert.h>
+#include <signal.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+static void handle_sigsegv(int sig, siginfo_t *info, void *ucontext)
+{
+ mcontext_t *mcontext = &((ucontext_t *)ucontext)->uc_mcontext;
+
+ /* The condition code must be the one set by SLGR, not garbage. */
+ _exit(((mcontext->psw.mask >> 44) & 3) == 3 ? EXIT_SUCCESS : EXIT_FAILURE);
+}
+
+int main(void)
+{
+ struct sigaction act = {
+ .sa_sigaction = handle_sigsegv,
+ .sa_flags = SA_SIGINFO,
+ };
+ int err;
+
+ err = sigaction(SIGSEGV, &act, NULL);
+ assert(err == 0);
+
+ asm volatile(
+ "lghi %%r1,100\n"
+ "lghi %%r2,0\n"
+ "clgr %%r1,%%r2\n" /* CC_OP_LTUGTU_64 */
+ /* cc_src=100 is not valid for CC_OP_SUBU */
+ "ipm %%r0\n" /* force cc_src to env */
+ "lghi %%r3,5\n"
+ "lghi %%r4,3\n"
+ "slgr %%r3,%%r4\n" /* CC_OP_SUBU, cc=3 */
+ "lghi %%r5,0\n"
+ "stckf 0(%%r5)\n" /* faults; cc must stay 3 */
+ : : : "r0", "r1", "r2", "r3", "r4", "r5", "cc", "memory");
+
+ return EXIT_FAILURE;
+}
--
2.55.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PULL 13/15] target/s390x: Allow 2G hugepages guest backing
2026-08-12 17:16 [PULL 00/15] s390x queue Eric Farman
` (11 preceding siblings ...)
2026-08-12 17:17 ` [PULL 12/15] tests/tcg/s390x: Test STCKF condition code on a faulting store Eric Farman
@ 2026-08-12 17:17 ` Eric Farman
2026-08-12 17:17 ` [PULL 14/15] hw: add compat machines for 11.2 Eric Farman
2026-08-12 17:17 ` [PULL 15/15] pc-bios/s390-ccw.img: update s390x bios Eric Farman
14 siblings, 0 replies; 16+ messages in thread
From: Eric Farman @ 2026-08-12 17:17 UTC (permalink / raw)
To: qemu-devel
Cc: qemu-s390x, Matthew Rosato, Cornelia Huck, Claudio Imbrenda,
Eric Farman, Hendrik Brueckner
From: Claudio Imbrenda <imbrenda@linux.ibm.com>
Allow mapping guest with 2G hugepages on hosts that support it.
Rename kvm_s390_get_hpage_1m() to kvm_s390_get_hpage() to reflect that
it is not anymore limited only to 1m hpages.
Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Reviewed-by: Eric Farman <farman@linux.ibm.com>
Reviewed-by: Hendrik Brueckner <brueckner@linux.ibm.com>
Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>
Link: https://lore.kernel.org/qemu-devel/20260805103728.97602-2-imbrenda@linux.ibm.com
Signed-off-by: Eric Farman <farman@linux.ibm.com>
---
target/s390x/diag.c | 2 +-
target/s390x/kvm/kvm.c | 36 +++++++++++++++++-------------------
target/s390x/kvm/kvm_s390x.h | 2 +-
target/s390x/kvm/stubs.c | 2 +-
4 files changed, 20 insertions(+), 22 deletions(-)
diff --git a/target/s390x/diag.c b/target/s390x/diag.c
index 80f0958478..46d191b87d 100644
--- a/target/s390x/diag.c
+++ b/target/s390x/diag.c
@@ -185,7 +185,7 @@ out:
return false;
}
- if (kvm_enabled() && kvm_s390_get_hpage_1m()) {
+ if (kvm_enabled() && kvm_s390_get_hpage()) {
error_report("Protected VMs can currently not be backed with "
"huge pages");
env->regs[r1 + 1] = DIAG_308_RC_INVAL_FOR_PV;
diff --git a/target/s390x/kvm/kvm.c b/target/s390x/kvm/kvm.c
index 72031a5714..803b878b4f 100644
--- a/target/s390x/kvm/kvm.c
+++ b/target/s390x/kvm/kvm.c
@@ -145,7 +145,7 @@ static int cap_mem_op;
static int cap_mem_op_extension;
static int cap_s390_irq;
static int cap_ri;
-static int cap_hpage_1m;
+static int cap_hpage;
static int cap_vcpu_resets;
static int cap_protected;
static int cap_zpci_op;
@@ -231,7 +231,7 @@ static void kvm_s390_enable_cmma(void)
.attr = KVM_S390_VM_MEM_ENABLE_CMMA,
};
- if (cap_hpage_1m) {
+ if (cap_hpage) {
warn_report("CMM will not be enabled because it is not "
"compatible with huge memory backings.");
return;
@@ -292,30 +292,28 @@ void kvm_s390_crypto_reset(void)
}
}
-void kvm_s390_set_max_pagesize(uint64_t pagesize, Error **errp)
+static bool kvm_s390_pgsize_cap(uint32_t capa, const char *s, Error **errp)
{
- if (pagesize == 4 * KiB) {
- return;
- }
-
- if (pagesize != 1 * MiB) {
- error_setg(errp, "Memory backing with 2G pages was specified, "
- "but KVM does not support this memory backing");
- return;
+ if (kvm_vm_enable_cap(kvm_state, capa, 0)) {
+ error_setg(errp, "Memory backing with %s pages was specified, "
+ "but KVM does not support this memory backing", s);
+ return false;
}
+ return true;
+}
- if (kvm_vm_enable_cap(kvm_state, KVM_CAP_S390_HPAGE_1M, 0)) {
- error_setg(errp, "Memory backing with 1M pages was specified, "
- "but KVM does not support this memory backing");
- return;
+void kvm_s390_set_max_pagesize(uint64_t pagesize, Error **errp)
+{
+ if (pagesize == MiB) {
+ cap_hpage = kvm_s390_pgsize_cap(KVM_CAP_S390_HPAGE_1M, "1M", errp);
+ } else if (pagesize != 4 * KiB) {
+ cap_hpage = 2 * kvm_s390_pgsize_cap(KVM_CAP_S390_HPAGE_2G, "2G", errp);
}
-
- cap_hpage_1m = 1;
}
-int kvm_s390_get_hpage_1m(void)
+int kvm_s390_get_hpage(void)
{
- return cap_hpage_1m;
+ return cap_hpage;
}
static void ccw_machine_class_foreach(ObjectClass *oc, void *opaque)
diff --git a/target/s390x/kvm/kvm_s390x.h b/target/s390x/kvm/kvm_s390x.h
index 7b1cce3e60..3c4fa0489c 100644
--- a/target/s390x/kvm/kvm_s390x.h
+++ b/target/s390x/kvm/kvm_s390x.h
@@ -25,7 +25,7 @@ void kvm_s390_program_interrupt(S390CPU *cpu, uint16_t code);
int kvm_s390_set_cpu_state(S390CPU *cpu, uint8_t cpu_state);
void kvm_s390_vcpu_interrupt_pre_save(S390CPU *cpu);
int kvm_s390_vcpu_interrupt_post_load(S390CPU *cpu);
-int kvm_s390_get_hpage_1m(void);
+int kvm_s390_get_hpage(void);
int kvm_s390_get_protected_dump(void);
int kvm_s390_get_ri(void);
int kvm_s390_get_zpci_op(void);
diff --git a/target/s390x/kvm/stubs.c b/target/s390x/kvm/stubs.c
index 196127baa5..ebf3c83994 100644
--- a/target/s390x/kvm/stubs.c
+++ b/target/s390x/kvm/stubs.c
@@ -143,7 +143,7 @@ int kvm_s390_vcpu_interrupt_post_load(S390CPU *cpu)
g_assert_not_reached();
}
-int kvm_s390_get_hpage_1m(void)
+int kvm_s390_get_hpage(void)
{
g_assert_not_reached();
}
--
2.55.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PULL 14/15] hw: add compat machines for 11.2
2026-08-12 17:16 [PULL 00/15] s390x queue Eric Farman
` (12 preceding siblings ...)
2026-08-12 17:17 ` [PULL 13/15] target/s390x: Allow 2G hugepages guest backing Eric Farman
@ 2026-08-12 17:17 ` Eric Farman
2026-08-12 17:17 ` [PULL 15/15] pc-bios/s390-ccw.img: update s390x bios Eric Farman
14 siblings, 0 replies; 16+ messages in thread
From: Eric Farman @ 2026-08-12 17:17 UTC (permalink / raw)
To: qemu-devel
Cc: qemu-s390x, Matthew Rosato, Cornelia Huck, Eric Farman, Bibo Mao
From: Cornelia Huck <cohuck@redhat.com>
Add 11.2 machine types for arm/i440fx/loongarch/m68k/q35/s390x/spapr.
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Eric Farman <farman@linux.ibm.com>
Reviewed-by: Bibo Mao <maobibo@loongson.cn>
Link: https://lore.kernel.org/qemu-devel/20260723163806.368127-1-cohuck@redhat.com
[farman@linux.ibm.com: fixup hw/core/machine.c hunk]
Signed-off-by: Eric Farman <farman@linux.ibm.com>
---
hw/arm/virt.c | 9 ++++++++-
hw/core/machine.c | 3 +++
hw/i386/pc.c | 3 +++
hw/i386/pc_piix.c | 13 +++++++++++--
hw/i386/pc_q35.c | 13 +++++++++++--
hw/loongarch/virt.c | 11 +++++++++--
hw/m68k/virt.c | 9 ++++++++-
hw/ppc/spapr.c | 15 +++++++++++++--
hw/s390x/s390-virtio-ccw.c | 14 +++++++++++++-
include/hw/core/boards.h | 3 +++
include/hw/i386/pc.h | 3 +++
11 files changed, 85 insertions(+), 11 deletions(-)
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 219597cabd..e7a56e37f7 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -4441,10 +4441,17 @@ static void machvirt_machine_init(void)
}
type_init(machvirt_machine_init);
+static void virt_machine_11_2_options(MachineClass *mc)
+{
+}
+DEFINE_VIRT_MACHINE_AS_LATEST(11, 2)
+
static void virt_machine_11_1_options(MachineClass *mc)
{
+ virt_machine_11_2_options(mc);
+ compat_props_add(mc->compat_props, hw_compat_11_1, hw_compat_11_1_len);
}
-DEFINE_VIRT_MACHINE_AS_LATEST(11, 1)
+DEFINE_VIRT_MACHINE(11, 1)
static void virt_machine_11_0_options(MachineClass *mc)
{
diff --git a/hw/core/machine.c b/hw/core/machine.c
index 73b4d82b4a..3b15645304 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -40,6 +40,9 @@
#include "qemu/audio.h"
#include "hw/arm/smmuv3.h"
+GlobalProperty hw_compat_11_1[] = {};
+const size_t hw_compat_11_1_len = G_N_ELEMENTS(hw_compat_11_1);
+
GlobalProperty hw_compat_11_0[] = {
{ "virtio-mmio", VIRTIO_QUEUE_SIZE_OVERRIDE, "1024" },
{ "chardev-vc", "encoding", "cp437" },
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index f064aa2b3e..e9e4fc262b 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -74,6 +74,9 @@
#include "hw/xen/xen-bus.h"
#endif
+GlobalProperty pc_compat_11_1[] = {};
+const size_t pc_compat_11_1_len = G_N_ELEMENTS(pc_compat_11_1);
+
GlobalProperty pc_compat_11_0[] = {};
const size_t pc_compat_11_0_len = G_N_ELEMENTS(pc_compat_11_0);
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 82457bdb16..223a19cc4b 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -428,12 +428,21 @@ static void pc_i440fx_machine_options(MachineClass *m)
pc_piix_compat_defaults, pc_piix_compat_defaults_len);
}
-static void pc_i440fx_machine_11_1_options(MachineClass *m)
+static void pc_i440fx_machine_11_2_options(MachineClass *m)
{
pc_i440fx_machine_options(m);
}
-DEFINE_I440FX_MACHINE_AS_LATEST(11, 1);
+DEFINE_I440FX_MACHINE_AS_LATEST(11, 2);
+
+static void pc_i440fx_machine_11_1_options(MachineClass *m)
+{
+ pc_i440fx_machine_11_2_options(m);
+ compat_props_add(m->compat_props, hw_compat_11_1, hw_compat_11_1_len);
+ compat_props_add(m->compat_props, pc_compat_11_1, pc_compat_11_1_len);
+}
+
+DEFINE_I440FX_MACHINE(11, 1);
static void pc_i440fx_machine_11_0_options(MachineClass *m)
{
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index 6c1e4eff5f..94cd71124b 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -383,12 +383,21 @@ static void pc_q35_machine_options(MachineClass *m)
pc_q35_compat_defaults, pc_q35_compat_defaults_len);
}
-static void pc_q35_machine_11_1_options(MachineClass *m)
+static void pc_q35_machine_11_2_options(MachineClass *m)
{
pc_q35_machine_options(m);
}
-DEFINE_Q35_MACHINE_AS_LATEST(11, 1);
+DEFINE_Q35_MACHINE_AS_LATEST(11, 2);
+
+static void pc_q35_machine_11_1_options(MachineClass *m)
+{
+ pc_q35_machine_11_2_options(m);
+ compat_props_add(m->compat_props, hw_compat_11_1, hw_compat_11_1_len);
+ compat_props_add(m->compat_props, pc_compat_11_1, pc_compat_11_1_len);
+}
+
+DEFINE_Q35_MACHINE(11, 1);
static void pc_q35_machine_11_0_options(MachineClass *m)
{
diff --git a/hw/loongarch/virt.c b/hw/loongarch/virt.c
index 6693dea647..9cc79929a8 100644
--- a/hw/loongarch/virt.c
+++ b/hw/loongarch/virt.c
@@ -1465,7 +1465,6 @@ static void virt_class_init(ObjectClass *oc, const void *data)
mc->default_ram_id = "loongarch.ram";
mc->desc = "QEMU LoongArch Virtual Machine";
mc->max_cpus = LOONGARCH_MAX_CPUS;
- mc->is_default = 1;
mc->default_kernel_irqchip_split = false;
mc->block_default_type = IF_VIRTIO;
mc->default_boot_order = "c";
@@ -1546,6 +1545,7 @@ static void virt_class_init(ObjectClass *oc, const void *data)
MACHINE_VER_DEPRECATION(__VA_ARGS__); \
if (latest) { \
mc->alias = "virt"; \
+ mc->is_default = true; \
} \
} \
static const TypeInfo MACHINE_VER_SYM(info, virt, __VA_ARGS__) = \
@@ -1600,7 +1600,14 @@ static void machvirt_machine_init(void)
type_init(machvirt_machine_init);
+static void virt_machine_11_2_options(MachineClass *mc)
+{
+}
+DEFINE_VIRT_MACHINE_AS_LATEST(11, 2)
+
static void virt_machine_11_1_options(MachineClass *mc)
{
+ virt_machine_11_2_options(mc);
+ compat_props_add(mc->compat_props, hw_compat_11_1, hw_compat_11_1_len);
}
-DEFINE_VIRT_MACHINE_AS_LATEST(11, 1)
+DEFINE_VIRT_MACHINE(11, 1)
diff --git a/hw/m68k/virt.c b/hw/m68k/virt.c
index 51158ce1c0..274970978f 100644
--- a/hw/m68k/virt.c
+++ b/hw/m68k/virt.c
@@ -367,10 +367,17 @@ type_init(virt_machine_register_types)
#define DEFINE_VIRT_MACHINE(major, minor) \
DEFINE_VIRT_MACHINE_IMPL(false, major, minor)
+static void virt_machine_11_2_options(MachineClass *mc)
+{
+}
+DEFINE_VIRT_MACHINE_AS_LATEST(11, 2)
+
static void virt_machine_11_1_options(MachineClass *mc)
{
+ virt_machine_11_2_options(mc);
+ compat_props_add(mc->compat_props, hw_compat_11_1, hw_compat_11_1_len);
}
-DEFINE_VIRT_MACHINE_AS_LATEST(11, 1)
+DEFINE_VIRT_MACHINE(11, 1)
static void virt_machine_11_0_options(MachineClass *mc)
{
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index b79828b4e9..7e284edd7d 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -4763,15 +4763,26 @@ static void spapr_machine_latest_class_options(MachineClass *mc)
#define DEFINE_SPAPR_MACHINE(major, minor) \
DEFINE_SPAPR_MACHINE_IMPL(false, major, minor)
+/*
+ * pseries-11.2
+ */
+static void spapr_machine_11_2_class_options(MachineClass *mc)
+{
+ /* Defaults for the latest behaviour inherited from the base class */
+}
+
+DEFINE_SPAPR_MACHINE_AS_LATEST(11, 2);
+
/*
* pseries-11.1
*/
static void spapr_machine_11_1_class_options(MachineClass *mc)
{
- /* Defaults for the latest behaviour inherited from the base class */
+ spapr_machine_11_2_class_options(mc);
+ compat_props_add(mc->compat_props, hw_compat_11_1, hw_compat_11_1_len);
}
-DEFINE_SPAPR_MACHINE_AS_LATEST(11, 1);
+DEFINE_SPAPR_MACHINE(11, 1);
/*
* pseries-11.0
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index 25a9fa4955..55131c1a44 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -925,14 +925,26 @@ static const TypeInfo ccw_machine_info = {
DEFINE_CCW_MACHINE_IMPL(false, major, minor)
+static void ccw_machine_11_2_instance_options(MachineState *machine)
+{
+}
+
+static void ccw_machine_11_2_class_options(MachineClass *mc)
+{
+}
+DEFINE_CCW_MACHINE_AS_LATEST(11, 2);
+
static void ccw_machine_11_1_instance_options(MachineState *machine)
{
+ ccw_machine_11_2_instance_options(machine);
}
static void ccw_machine_11_1_class_options(MachineClass *mc)
{
+ ccw_machine_11_2_class_options(mc);
+ compat_props_add(mc->compat_props, hw_compat_11_1, hw_compat_11_1_len);
}
-DEFINE_CCW_MACHINE_AS_LATEST(11, 1);
+DEFINE_CCW_MACHINE(11, 1);
static void ccw_machine_11_0_instance_options(MachineState *machine)
{
diff --git a/include/hw/core/boards.h b/include/hw/core/boards.h
index 29c68931d8..a436d48c8e 100644
--- a/include/hw/core/boards.h
+++ b/include/hw/core/boards.h
@@ -815,6 +815,9 @@ compat_props_add(GPtrArray *arr,
}
}
+extern GlobalProperty hw_compat_11_1[];
+extern const size_t hw_compat_11_1_len;
+
extern GlobalProperty hw_compat_11_0[];
extern const size_t hw_compat_11_0_len;
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index d4b6d3ed57..ac03da97b6 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -209,6 +209,9 @@ void pc_system_parse_ovmf_flash(uint8_t *flash_ptr, size_t flash_size);
/* sgx.c */
void pc_machine_init_sgx_epc(PCMachineState *pcms);
+extern GlobalProperty pc_compat_11_1[];
+extern const size_t pc_compat_11_1_len;
+
extern GlobalProperty pc_compat_11_0[];
extern const size_t pc_compat_11_0_len;
--
2.55.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PULL 15/15] pc-bios/s390-ccw.img: update s390x bios
2026-08-12 17:16 [PULL 00/15] s390x queue Eric Farman
` (13 preceding siblings ...)
2026-08-12 17:17 ` [PULL 14/15] hw: add compat machines for 11.2 Eric Farman
@ 2026-08-12 17:17 ` Eric Farman
14 siblings, 0 replies; 16+ messages in thread
From: Eric Farman @ 2026-08-12 17:17 UTC (permalink / raw)
To: qemu-devel; +Cc: qemu-s390x, Matthew Rosato, Cornelia Huck, Eric Farman
Update the s390 bios with recent fixes for out-of-bounds accesses.
Signed-off-by: Eric Farman <farman@linux.ibm.com>
---
pc-bios/s390-ccw.img | Bin 104136 -> 104216 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/pc-bios/s390-ccw.img b/pc-bios/s390-ccw.img
index e24a93e14a880aa3a5d498fc84c7bdd1a0964d7c..291cd77eaff40679d0cc2d5697d0c7b73c493e94 100644
GIT binary patch
literal 104216
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
Nl;;EGKz3ew`aje{jXnSX
literal 104136
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
--
2.55.0
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2026-08-12 17:20 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-12 17:16 [PULL 00/15] s390x queue Eric Farman
2026-08-12 17:16 ` [PULL 01/15] target/s390x: Make PRNO TRNG interruptible Eric Farman
2026-08-12 17:16 ` [PULL 02/15] tests/tcg/s390x: Test PRNO TRNG interruptibility Eric Farman
2026-08-12 17:16 ` [PULL 03/15] target/s390x: Fix DR/D INT64_MIN / -1 host crash Eric Farman
2026-08-12 17:16 ` [PULL 04/15] tests/tcg/s390x: Test DR overflow (INT64_MIN / -1) Eric Farman
2026-08-12 17:16 ` [PULL 05/15] hw/char/sclpconsole-lm: avoid guest triggerable assert Eric Farman
2026-08-12 17:16 ` [PULL 06/15] s390x/ipl: validate num_comp against iplb length before iterating Eric Farman
2026-08-12 17:16 ` [PULL 07/15] pc-bios/s390-ccw: fix out-of-bounds read in iso_get_file_size() Eric Farman
2026-08-12 17:17 ` [PULL 08/15] pc-bios/s390-ccw: bounds-check zipl menu entry index before array write Eric Farman
2026-08-12 17:17 ` [PULL 09/15] pc-bios/s390-ccw: bound zipl menu strlen and replace VLA in zipl_print_entry Eric Farman
2026-08-12 17:17 ` [PULL 10/15] pc-bios/s390-ccw: Fix off-by-one errors with loadparm and boot entries Eric Farman
2026-08-12 17:17 ` [PULL 11/15] target/s390x/tcg: Set STCK/STCKF condition code after the store Eric Farman
2026-08-12 17:17 ` [PULL 12/15] tests/tcg/s390x: Test STCKF condition code on a faulting store Eric Farman
2026-08-12 17:17 ` [PULL 13/15] target/s390x: Allow 2G hugepages guest backing Eric Farman
2026-08-12 17:17 ` [PULL 14/15] hw: add compat machines for 11.2 Eric Farman
2026-08-12 17:17 ` [PULL 15/15] pc-bios/s390-ccw.img: update s390x bios Eric Farman
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.