All of lore.kernel.org
 help / color / mirror / Atom feed
* [PULL 0/4] s390x/ipl: Fixes for ipl and bios
@ 2020-03-10 15:09 Christian Borntraeger
  2020-03-10 15:09 ` [PULL 1/4] pc-bios: s390x: Save iplb location in lowcore Christian Borntraeger
                   ` (5 more replies)
  0 siblings, 6 replies; 10+ messages in thread
From: Christian Borntraeger @ 2020-03-10 15:09 UTC (permalink / raw)
  To: Peter Maydell
  Cc: Thomas Huth, David Hildenbrand, Cornelia Huck, qemu-devel,
	Halil Pasic, Christian Borntraeger, qemu-s390x,
	Richard Henderson

Peter,

The following changes since commit 373c7068dd610e97f0b551b5a6d0a27cd6da4506:

  qemu.nsi: Install Sphinx documentation (2020-03-09 16:45:00 +0000)

are available in the Git repository at:

  git://github.com/borntraeger/qemu.git tags/s390x-20200310

for you to fetch changes up to 94c21436e5a89143f8b9cb4d089d1a2f3f4fd377:

  s390x: ipl: Consolidate iplb validity check into one function (2020-03-10 10:18:20 +0100)

----------------------------------------------------------------
s390x/ipl: Fixes for ipl and bios

- provide a pointer to the loadparm. This fixes crashes in zipl
- do not throw away guest changes of the IPL parameter during reset
- refactor IPLB checks

----------------------------------------------------------------
Christian Borntraeger (1):
      s390x/bios: rebuild s390-ccw.img

Halil Pasic (1):
      s390/ipl: sync back loadparm

Janosch Frank (2):
      pc-bios: s390x: Save iplb location in lowcore
      s390x: ipl: Consolidate iplb validity check into one function

 hw/s390x/ipl.c               |  25 +++++++++++++++++++++++++
 hw/s390x/ipl.h               |  18 +++++++++---------
 pc-bios/s390-ccw.img         | Bin 42608 -> 42608 bytes
 pc-bios/s390-ccw/jump2ipl.c  |   1 +
 pc-bios/s390-ccw/main.c      |   8 +++++++-
 pc-bios/s390-ccw/netmain.c   |   1 +
 pc-bios/s390-ccw/s390-arch.h |  10 ++++++++--
 pc-bios/s390-ccw/s390-ccw.h  |   1 +
 target/s390x/diag.c          |   2 +-
 9 files changed, 53 insertions(+), 13 deletions(-)



^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PULL 1/4] pc-bios: s390x: Save iplb location in lowcore
  2020-03-10 15:09 [PULL 0/4] s390x/ipl: Fixes for ipl and bios Christian Borntraeger
@ 2020-03-10 15:09 ` Christian Borntraeger
  2020-03-10 15:09 ` [PULL 2/4] s390x/bios: rebuild s390-ccw.img Christian Borntraeger
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 10+ messages in thread
From: Christian Borntraeger @ 2020-03-10 15:09 UTC (permalink / raw)
  To: Peter Maydell
  Cc: Thomas Huth, Janosch Frank, David Hildenbrand, Cornelia Huck,
	qemu-devel, Halil Pasic, Christian Borntraeger, qemu-s390x,
	Marc Hartmayer, Richard Henderson

From: Janosch Frank <frankja@linux.ibm.com>

The POP states that for a list directed IPL the IPLB is stored into
memory by the machine loader and its address is stored at offset 0x14
of the lowcore.

ZIPL currently uses the address in offset 0x14 to access the IPLB and
acquire flags about secure boot. If the IPLB address points into
memory which has an unsupported mix of flags set, ZIPL will panic
instead of booting the OS.

As the lowcore can have quite a high entropy for a guest that did drop
out of protected mode (i.e. rebooted) we encountered the ZIPL panic
quite often.

Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Tested-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Message-Id: <20200304114231.23493-19-frankja@linux.ibm.com>
Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
---
 pc-bios/s390-ccw/jump2ipl.c  |  1 +
 pc-bios/s390-ccw/main.c      |  8 +++++++-
 pc-bios/s390-ccw/netmain.c   |  1 +
 pc-bios/s390-ccw/s390-arch.h | 10 ++++++++--
 pc-bios/s390-ccw/s390-ccw.h  |  1 +
 5 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/pc-bios/s390-ccw/jump2ipl.c b/pc-bios/s390-ccw/jump2ipl.c
index da13c43cc047..4eba2510b045 100644
--- a/pc-bios/s390-ccw/jump2ipl.c
+++ b/pc-bios/s390-ccw/jump2ipl.c
@@ -35,6 +35,7 @@ void jump_to_IPL_code(uint64_t address)
 {
     /* store the subsystem information _after_ the bootmap was loaded */
     write_subsystem_identification();
+    write_iplb_location();
 
     /* prevent unknown IPL types in the guest */
     if (iplb.pbt == S390_IPL_TYPE_QEMU_SCSI) {
diff --git a/pc-bios/s390-ccw/main.c b/pc-bios/s390-ccw/main.c
index a21b38628075..4e65b411e1d8 100644
--- a/pc-bios/s390-ccw/main.c
+++ b/pc-bios/s390-ccw/main.c
@@ -9,6 +9,7 @@
  */
 
 #include "libc.h"
+#include "helper.h"
 #include "s390-arch.h"
 #include "s390-ccw.h"
 #include "cio.h"
@@ -22,7 +23,7 @@ QemuIplParameters qipl;
 IplParameterBlock iplb __attribute__((__aligned__(PAGE_SIZE)));
 static bool have_iplb;
 static uint16_t cutype;
-LowCore const *lowcore; /* Yes, this *is* a pointer to address 0 */
+LowCore *lowcore; /* Yes, this *is* a pointer to address 0 */
 
 #define LOADPARM_PROMPT "PROMPT  "
 #define LOADPARM_EMPTY  "        "
@@ -42,6 +43,11 @@ void write_subsystem_identification(void)
     *zeroes = 0;
 }
 
+void write_iplb_location(void)
+{
+    lowcore->ptr_iplb = ptr2u32(&iplb);
+}
+
 void panic(const char *string)
 {
     sclp_print(string);
diff --git a/pc-bios/s390-ccw/netmain.c b/pc-bios/s390-ccw/netmain.c
index f2dcc01e2725..309ffa30d992 100644
--- a/pc-bios/s390-ccw/netmain.c
+++ b/pc-bios/s390-ccw/netmain.c
@@ -40,6 +40,7 @@
 #define DEFAULT_TFTP_RETRIES 20
 
 extern char _start[];
+void write_iplb_location(void) {}
 
 #define KERNEL_ADDR             ((void *)0L)
 #define KERNEL_MAX_SIZE         ((long)_start)
diff --git a/pc-bios/s390-ccw/s390-arch.h b/pc-bios/s390-ccw/s390-arch.h
index 504fc7c2f098..5f36361c0223 100644
--- a/pc-bios/s390-ccw/s390-arch.h
+++ b/pc-bios/s390-ccw/s390-arch.h
@@ -36,7 +36,13 @@ typedef struct LowCore {
     /* prefix area: defined by architecture */
     PSWLegacy       ipl_psw;                  /* 0x000 */
     uint32_t        ccw1[2];                  /* 0x008 */
-    uint32_t        ccw2[2];                  /* 0x010 */
+    union {
+        uint32_t        ccw2[2];                  /* 0x010 */
+        struct {
+            uint32_t reserved10;
+            uint32_t ptr_iplb;
+        };
+    };
     uint8_t         pad1[0x80 - 0x18];        /* 0x018 */
     uint32_t        ext_params;               /* 0x080 */
     uint16_t        cpu_addr;                 /* 0x084 */
@@ -85,7 +91,7 @@ typedef struct LowCore {
     PSW             io_new_psw;               /* 0x1f0 */
 } __attribute__((packed, aligned(8192))) LowCore;
 
-extern LowCore const *lowcore;
+extern LowCore *lowcore;
 
 static inline void set_prefix(uint32_t address)
 {
diff --git a/pc-bios/s390-ccw/s390-ccw.h b/pc-bios/s390-ccw/s390-ccw.h
index 11bce7d73c85..21f27e79906e 100644
--- a/pc-bios/s390-ccw/s390-ccw.h
+++ b/pc-bios/s390-ccw/s390-ccw.h
@@ -57,6 +57,7 @@ void consume_io_int(void);
 /* main.c */
 void panic(const char *string);
 void write_subsystem_identification(void);
+void write_iplb_location(void);
 extern char stack[PAGE_SIZE * 8] __attribute__((__aligned__(PAGE_SIZE)));
 unsigned int get_loadparm_index(void);
 
-- 
2.24.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PULL 2/4] s390x/bios: rebuild s390-ccw.img
  2020-03-10 15:09 [PULL 0/4] s390x/ipl: Fixes for ipl and bios Christian Borntraeger
  2020-03-10 15:09 ` [PULL 1/4] pc-bios: s390x: Save iplb location in lowcore Christian Borntraeger
@ 2020-03-10 15:09 ` Christian Borntraeger
  2020-03-10 15:09 ` [PULL 3/4] s390/ipl: sync back loadparm Christian Borntraeger
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 10+ messages in thread
From: Christian Borntraeger @ 2020-03-10 15:09 UTC (permalink / raw)
  To: Peter Maydell
  Cc: Thomas Huth, David Hildenbrand, Cornelia Huck, qemu-devel,
	Halil Pasic, Christian Borntraeger, qemu-s390x,
	Richard Henderson

contains 98df96d4edae ("pc-bios: s390x: Save iplb location in lowcore")

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
---
 pc-bios/s390-ccw.img | Bin 42608 -> 42608 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/pc-bios/s390-ccw.img b/pc-bios/s390-ccw.img
index 91cdee4436ad828fe6cb664cfac270a21f2bde70..b9da9d8ecb10faa484a9a524a202f1f69cb59ad6 100644
GIT binary patch
delta 8340
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
G@_zvyx^(XV

delta 8170
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
BISv2-

-- 
2.24.1



^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PULL 3/4] s390/ipl: sync back loadparm
  2020-03-10 15:09 [PULL 0/4] s390x/ipl: Fixes for ipl and bios Christian Borntraeger
  2020-03-10 15:09 ` [PULL 1/4] pc-bios: s390x: Save iplb location in lowcore Christian Borntraeger
  2020-03-10 15:09 ` [PULL 2/4] s390x/bios: rebuild s390-ccw.img Christian Borntraeger
@ 2020-03-10 15:09 ` Christian Borntraeger
  2020-03-19 20:31   ` Peter Maydell
  2020-03-10 15:09 ` [PULL 4/4] s390x: ipl: Consolidate iplb validity check into one function Christian Borntraeger
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 10+ messages in thread
From: Christian Borntraeger @ 2020-03-10 15:09 UTC (permalink / raw)
  To: Peter Maydell
  Cc: Thomas Huth, Janosch Frank, David Hildenbrand, Cornelia Huck,
	qemu-devel, Halil Pasic, Christian Borntraeger, qemu-s390x,
	Marc Hartmayer, Viktor Mihajlovski, Richard Henderson

From: Halil Pasic <pasic@linux.ibm.com>

We expose loadparm as a r/w machine property, but if loadparm is set by
the guest via DIAG 308, we don't update the property. Having a
disconnect between the guest view and the QEMU property is not nice in
itself, but things get even worse for SCSI, where under certain
circumstances (see 789b5a401b "s390: Ensure IPL from SCSI works as
expected" for details) we call s390_gen_initial_iplb() on resets
effectively overwriting the guest/user supplied loadparm with the stale
value.

Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
Fixes: 7104bae9de ("hw/s390x: provide loadparm property for the machine")
Reported-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Viktor Mihajlovski <mihajlov@linux.ibm.com>
Tested-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Message-Id: <20200309133223.100491-1-pasic@linux.ibm.com>
[borntraeger@de.ibm.com: use reverse xmas tree]
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
---
 hw/s390x/ipl.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/hw/s390x/ipl.c b/hw/s390x/ipl.c
index 9c1ecd423c23..b81942e1e6f9 100644
--- a/hw/s390x/ipl.c
+++ b/hw/s390x/ipl.c
@@ -538,6 +538,30 @@ static bool is_virtio_scsi_device(IplParameterBlock *iplb)
     return is_virtio_ccw_device_of_type(iplb, VIRTIO_ID_SCSI);
 }
 
+static void update_machine_ipl_properties(IplParameterBlock *iplb)
+{
+    Object *machine = qdev_get_machine();
+    Error *err = NULL;
+
+    /* Sync loadparm */
+    if (iplb->flags & DIAG308_FLAGS_LP_VALID) {
+        uint8_t *ebcdic_loadparm = iplb->loadparm;
+        char ascii_loadparm[8];
+        int i;
+
+        for (i = 0; i < 8 && ebcdic_loadparm[i]; i++) {
+            ascii_loadparm[i] = ebcdic2ascii[(uint8_t) ebcdic_loadparm[i]];
+        }
+        ascii_loadparm[i] = 0;
+        object_property_set_str(machine, ascii_loadparm, "loadparm", &err);
+    } else {
+        object_property_set_str(machine, "", "loadparm", &err);
+    }
+    if (err) {
+        warn_report_err(err);
+    }
+}
+
 void s390_ipl_update_diag308(IplParameterBlock *iplb)
 {
     S390IPLState *ipl = get_ipl_device();
@@ -545,6 +569,7 @@ void s390_ipl_update_diag308(IplParameterBlock *iplb)
     ipl->iplb = *iplb;
     ipl->iplb_valid = true;
     ipl->netboot = is_virtio_net_device(iplb);
+    update_machine_ipl_properties(iplb);
 }
 
 IplParameterBlock *s390_ipl_get_iplb(void)
-- 
2.24.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PULL 4/4] s390x: ipl: Consolidate iplb validity check into one function
  2020-03-10 15:09 [PULL 0/4] s390x/ipl: Fixes for ipl and bios Christian Borntraeger
                   ` (2 preceding siblings ...)
  2020-03-10 15:09 ` [PULL 3/4] s390/ipl: sync back loadparm Christian Borntraeger
@ 2020-03-10 15:09 ` Christian Borntraeger
  2020-03-10 17:13 ` [PULL 0/4] s390x/ipl: Fixes for ipl and bios no-reply
  2020-03-10 20:04 ` Peter Maydell
  5 siblings, 0 replies; 10+ messages in thread
From: Christian Borntraeger @ 2020-03-10 15:09 UTC (permalink / raw)
  To: Peter Maydell
  Cc: Thomas Huth, Janosch Frank, David Hildenbrand, Cornelia Huck,
	qemu-devel, Halil Pasic, Christian Borntraeger, qemu-s390x,
	Richard Henderson

From: Janosch Frank <frankja@linux.ibm.com>

It's nicer to just call one function than calling a function for each
possible iplb type.

Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Message-Id: <20200310090950.61172-1-frankja@linux.ibm.com>
Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
---
 hw/s390x/ipl.h      | 18 +++++++++---------
 target/s390x/diag.c |  2 +-
 2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/hw/s390x/ipl.h b/hw/s390x/ipl.h
index d4813105db33..3e44abe1c651 100644
--- a/hw/s390x/ipl.h
+++ b/hw/s390x/ipl.h
@@ -173,16 +173,16 @@ static inline bool iplb_valid_len(IplParameterBlock *iplb)
     return be32_to_cpu(iplb->len) <= sizeof(IplParameterBlock);
 }
 
-static inline bool iplb_valid_ccw(IplParameterBlock *iplb)
+static inline bool iplb_valid(IplParameterBlock *iplb)
 {
-    return be32_to_cpu(iplb->len) >= S390_IPLB_MIN_CCW_LEN &&
-           iplb->pbt == S390_IPL_TYPE_CCW;
-}
-
-static inline bool iplb_valid_fcp(IplParameterBlock *iplb)
-{
-    return be32_to_cpu(iplb->len) >= S390_IPLB_MIN_FCP_LEN &&
-           iplb->pbt == S390_IPL_TYPE_FCP;
+    switch (iplb->pbt) {
+    case S390_IPL_TYPE_FCP:
+        return be32_to_cpu(iplb->len) >= S390_IPLB_MIN_FCP_LEN;
+    case S390_IPL_TYPE_CCW:
+        return be32_to_cpu(iplb->len) >= S390_IPLB_MIN_CCW_LEN;
+    default:
+        return false;
+    }
 }
 
 #endif
diff --git a/target/s390x/diag.c b/target/s390x/diag.c
index b5aec06d6bef..54e5670b3fd6 100644
--- a/target/s390x/diag.c
+++ b/target/s390x/diag.c
@@ -117,7 +117,7 @@ void handle_diag_308(CPUS390XState *env, uint64_t r1, uint64_t r3, uintptr_t ra)
 
         cpu_physical_memory_read(addr, iplb, be32_to_cpu(iplb->len));
 
-        if (!iplb_valid_ccw(iplb) && !iplb_valid_fcp(iplb)) {
+        if (!iplb_valid(iplb)) {
             env->regs[r1 + 1] = DIAG_308_RC_INVALID;
             goto out;
         }
-- 
2.24.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PULL 0/4] s390x/ipl: Fixes for ipl and bios
  2020-03-10 15:09 [PULL 0/4] s390x/ipl: Fixes for ipl and bios Christian Borntraeger
                   ` (3 preceding siblings ...)
  2020-03-10 15:09 ` [PULL 4/4] s390x: ipl: Consolidate iplb validity check into one function Christian Borntraeger
@ 2020-03-10 17:13 ` no-reply
  2020-03-10 20:04 ` Peter Maydell
  5 siblings, 0 replies; 10+ messages in thread
From: no-reply @ 2020-03-10 17:13 UTC (permalink / raw)
  To: borntraeger
  Cc: peter.maydell, thuth, david, cohuck, qemu-devel, pasic,
	borntraeger, qemu-s390x, rth

Patchew URL: https://patchew.org/QEMU/20200310150947.3510824-1-borntraeger@de.ibm.com/



Hi,

This series failed the asan build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.

=== TEST SCRIPT BEGIN ===
#!/bin/bash
export ARCH=x86_64
make docker-image-fedora V=1 NETWORK=1
time make docker-test-debug@fedora TARGET_LIST=x86_64-softmmu J=14 NETWORK=1
=== TEST SCRIPT END ===

PASS 1 fdc-test /x86_64/fdc/cmos
PASS 2 fdc-test /x86_64/fdc/no_media_on_start
PASS 3 fdc-test /x86_64/fdc/read_without_media
==6135==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 4 fdc-test /x86_64/fdc/media_change
PASS 5 fdc-test /x86_64/fdc/sense_interrupt
PASS 6 fdc-test /x86_64/fdc/relative_seek
---
PASS 32 test-opts-visitor /visitor/opts/range/beyond
PASS 33 test-opts-visitor /visitor/opts/dict/unvisited
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/test-coroutine -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-coroutine" 
==6186==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==6186==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffcdfd42000; bottom 0x7fcf09510000; size: 0x002dd6832000 (196872445952)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 1 test-coroutine /basic/no-dangling-access
---
PASS 12 fdc-test /x86_64/fdc/read_no_dma_19
PASS 13 fdc-test /x86_64/fdc/fuzz-registers
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 QTEST_QEMU_IMG=qemu-img tests/qtest/ide-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="ide-test" 
==6201==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 14 test-aio /aio/timer/schedule
PASS 15 test-aio /aio/coroutine/queue-chaining
==6209==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 16 test-aio /aio-gsource/flush
PASS 17 test-aio /aio-gsource/bh/schedule
PASS 18 test-aio /aio-gsource/bh/schedule10
---
PASS 26 test-aio /aio-gsource/event/flush
PASS 27 test-aio /aio-gsource/event/wait/no-flush-cb
PASS 1 ide-test /x86_64/ide/identify
==6215==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 2 ide-test /x86_64/ide/flush
==6221==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 3 ide-test /x86_64/ide/bmdma/simple_rw
PASS 28 test-aio /aio-gsource/timer/schedule
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/test-aio-multithread -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-aio-multithread" 
==6230==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==6227==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 1 test-aio-multithread /aio/multi/lifecycle
PASS 4 ide-test /x86_64/ide/bmdma/trim
==6247==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 2 test-aio-multithread /aio/multi/schedule
PASS 3 test-aio-multithread /aio/multi/mutex/contended
PASS 4 test-aio-multithread /aio/multi/mutex/handoff
==6268==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 5 test-aio-multithread /aio/multi/mutex/mcs
PASS 6 test-aio-multithread /aio/multi/mutex/pthread
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/test-throttle -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-throttle" 
==6280==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 1 test-throttle /throttle/leak_bucket
PASS 2 test-throttle /throttle/compute_wait
PASS 3 test-throttle /throttle/init
---
PASS 14 test-throttle /throttle/config/max
PASS 15 test-throttle /throttle/config/iops_size
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/test-thread-pool -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-thread-pool" 
==6284==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 1 test-thread-pool /thread-pool/submit
PASS 2 test-thread-pool /thread-pool/submit-aio
PASS 3 test-thread-pool /thread-pool/submit-co
---
PASS 2 test-hbitmap /hbitmap/size/0
PASS 3 test-hbitmap /hbitmap/size/unaligned
PASS 4 test-hbitmap /hbitmap/iter/empty
==6351==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 5 test-hbitmap /hbitmap/iter/partial
PASS 6 test-hbitmap /hbitmap/iter/granularity
PASS 7 test-hbitmap /hbitmap/iter/iter_and_reset
---
PASS 28 test-hbitmap /hbitmap/truncate/shrink/medium
PASS 29 test-hbitmap /hbitmap/truncate/shrink/large
PASS 30 test-hbitmap /hbitmap/meta/zero
==6361==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 31 test-hbitmap /hbitmap/meta/one
PASS 32 test-hbitmap /hbitmap/meta/byte
PASS 33 test-hbitmap /hbitmap/meta/word
---
PASS 41 test-hbitmap /hbitmap/next_zero/next_zero_after_truncate
PASS 42 test-hbitmap /hbitmap/next_dirty_area/next_dirty_area_0
PASS 43 test-hbitmap /hbitmap/next_dirty_area/next_dirty_area_1
==6367==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 44 test-hbitmap /hbitmap/next_dirty_area/next_dirty_area_4
PASS 45 test-hbitmap /hbitmap/next_dirty_area/next_dirty_area_after_truncate
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/test-bdrv-drain -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-bdrv-drain" 
==6374==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 1 test-bdrv-drain /bdrv-drain/nested
PASS 2 test-bdrv-drain /bdrv-drain/multiparent
PASS 3 test-bdrv-drain /bdrv-drain/set_aio_context
---
PASS 41 test-bdrv-drain /bdrv-drain/bdrv_drop_intermediate/poll
PASS 42 test-bdrv-drain /bdrv-drain/replace_child/mid-drain
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/test-bdrv-graph-mod -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-bdrv-graph-mod" 
==6413==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 1 test-bdrv-graph-mod /bdrv-graph-mod/update-perm-tree
PASS 2 test-bdrv-graph-mod /bdrv-graph-mod/should-update-child
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/test-blockjob -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-blockjob" 
==6417==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 1 test-blockjob /blockjob/ids
PASS 2 test-blockjob /blockjob/cancel/created
PASS 3 test-blockjob /blockjob/cancel/running
---
PASS 7 test-blockjob /blockjob/cancel/pending
PASS 8 test-blockjob /blockjob/cancel/concluded
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/test-blockjob-txn -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-blockjob-txn" 
==6421==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 1 test-blockjob-txn /single/success
PASS 2 test-blockjob-txn /single/failure
PASS 3 test-blockjob-txn /single/cancel
---
PASS 6 test-blockjob-txn /pair/cancel
PASS 7 test-blockjob-txn /pair/fail-cancel-race
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/test-block-backend -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-block-backend" 
==6425==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 1 test-block-backend /block-backend/drain_aio_error
PASS 2 test-block-backend /block-backend/drain_all_aio_error
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/test-block-iothread -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-block-iothread" 
==6429==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 1 test-block-iothread /sync-op/pread
PASS 2 test-block-iothread /sync-op/pwrite
PASS 3 test-block-iothread /sync-op/load_vmstate
---
PASS 15 test-block-iothread /propagate/diamond
PASS 16 test-block-iothread /propagate/mirror
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/test-image-locking -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-image-locking" 
==6449==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 1 test-image-locking /image-locking/basic
PASS 2 test-image-locking /image-locking/set-perm-abort
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/test-x86-cpuid -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-x86-cpuid" 
---
PASS 9 test-int128 /int128/int128_gt
PASS 10 test-int128 /int128/int128_rshift
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/rcutorture -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="rcutorture" 
==6474==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 1 rcutorture /rcu/torture/1reader
PASS 2 rcutorture /rcu/torture/10readers
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/test-rcu-list -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-rcu-list" 
---
PASS 2 test-rcu-list /rcu/qlist/short-few
PASS 3 test-rcu-list /rcu/qlist/long-many
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/test-rcu-simpleq -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-rcu-simpleq" 
==6540==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 1 test-rcu-simpleq /rcu/qsimpleq/single-threaded
PASS 2 test-rcu-simpleq /rcu/qsimpleq/short-few
PASS 3 test-rcu-simpleq /rcu/qsimpleq/long-many
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/test-rcu-tailq -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-rcu-tailq" 
PASS 1 test-rcu-tailq /rcu/qtailq/single-threaded
==6585==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 2 test-rcu-tailq /rcu/qtailq/short-few
PASS 3 test-rcu-tailq /rcu/qtailq/long-many
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/test-rcu-slist -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-rcu-slist" 
PASS 1 test-rcu-slist /rcu/qslist/single-threaded
PASS 2 test-rcu-slist /rcu/qslist/short-few
==6651==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 3 test-rcu-slist /rcu/qslist/long-many
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/test-qdist -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-qdist" 
PASS 1 test-qdist /qdist/none
---
PASS 8 test-qdist /qdist/binning/shrink
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/test-qht -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-qht" 
PASS 5 ide-test /x86_64/ide/bmdma/various_prdts
==6664==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==6664==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffcd17e5000; bottom 0x7f0c1cdfe000; size: 0x00f0b49e7000 (1033822433280)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 6 ide-test /x86_64/ide/bmdma/no_busmaster
PASS 7 ide-test /x86_64/ide/flush/nodev
==6675==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 8 ide-test /x86_64/ide/flush/empty_drive
==6680==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 9 ide-test /x86_64/ide/flush/retry_pci
==6686==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 10 ide-test /x86_64/ide/flush/retry_isa
==6692==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 11 ide-test /x86_64/ide/cdrom/pio
==6698==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 12 ide-test /x86_64/ide/cdrom/pio_large
==6704==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 13 ide-test /x86_64/ide/cdrom/dma
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 QTEST_QEMU_IMG=qemu-img tests/qtest/ahci-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="ahci-test" 
==6718==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 1 ahci-test /x86_64/ahci/sanity
==6724==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 2 ahci-test /x86_64/ahci/pci_spec
==6730==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 3 ahci-test /x86_64/ahci/pci_enable
PASS 1 test-qht /qht/mode/default
==6736==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 2 test-qht /qht/mode/resize
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/test-qht-par -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-qht-par" 
PASS 4 ahci-test /x86_64/ahci/hba_spec
==6747==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 5 ahci-test /x86_64/ahci/hba_enable
PASS 1 test-qht-par /qht/parallel/2threads-0%updates-1s
==6757==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 6 ahci-test /x86_64/ahci/identify
==6769==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 2 test-qht-par /qht/parallel/2threads-20%updates-1s
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/test-bitops -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-bitops" 
PASS 7 ahci-test /x86_64/ahci/max
---
PASS 3 test-qdev-global-props /qdev/properties/dynamic/global
PASS 4 test-qdev-global-props /qdev/properties/global/subclass
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/check-qom-interface -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="check-qom-interface" 
==6778==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 1 check-qom-interface /qom/interface/direct_impl
PASS 2 check-qom-interface /qom/interface/intermediate_impl
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/check-qom-proplist -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="check-qom-proplist" 
---
PASS 4 test-write-threshold /write-threshold/not-trigger
PASS 5 test-write-threshold /write-threshold/trigger
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/test-crypto-hash -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-crypto-hash" 
==6817==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==6817==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7fffcc63e000; bottom 0x7fbe003fe000; size: 0x0041cc240000 (282597785600)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 1 test-crypto-hash /crypto/hash/iov
---
PASS 27 test-crypto-cipher /crypto/cipher/null-iv
PASS 28 test-crypto-cipher /crypto/cipher/short-plaintext
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/test-crypto-secret -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-crypto-secret" 
==6839==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 1 test-crypto-secret /crypto/secret/direct
PASS 2 test-crypto-secret /crypto/secret/indirect/good
PASS 3 test-crypto-secret /crypto/secret/indirect/badfile
---
PASS 15 test-crypto-secret /crypto/secret/crypt/missingiv
PASS 16 test-crypto-secret /crypto/secret/crypt/badiv
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/test-crypto-tlscredsx509 -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-crypto-tlscredsx509" 
==6839==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7fff5f31d000; bottom 0x7f63865fe000; size: 0x009bd8d1f000 (669357568000)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 10 ahci-test /x86_64/ahci/io/pio/lba28/simple/low
==6853==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==6853==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffda8df8000; bottom 0x7f719e7fe000; size: 0x008c0a5fa000 (601469460480)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 11 ahci-test /x86_64/ahci/io/pio/lba28/simple/high
PASS 1 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/perfectserver
PASS 2 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/perfectclient
==6859==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==6859==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7fffcc6fe000; bottom 0x7fc6321fe000; size: 0x00399a500000 (247402070016)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 12 ahci-test /x86_64/ahci/io/pio/lba28/double/zero
==6865==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==6865==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffcae6dd000; bottom 0x7f3b989fe000; size: 0x00c115cdf000 (829294505984)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 13 ahci-test /x86_64/ahci/io/pio/lba28/double/low
PASS 3 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/goodca1
==6871==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 4 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/goodca2
==6871==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffc708e2000; bottom 0x7fe14f7fe000; size: 0x001b210e4000 (116518699008)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 5 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/goodca3
---
PASS 14 ahci-test /x86_64/ahci/io/pio/lba28/double/high
PASS 9 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/goodserver1
PASS 10 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/goodserver2
==6877==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==6877==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffc52868000; bottom 0x7f7cf55fe000; size: 0x007f5d26a000 (547023659008)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 15 ahci-test /x86_64/ahci/io/pio/lba28/long/zero
PASS 11 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/goodserver3
PASS 12 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/goodserver4
==6883==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 13 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/goodserver5
==6883==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffc80337000; bottom 0x7fe550f7c000; size: 0x00172f3bb000 (99576688640)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 14 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/goodserver6
---
PASS 32 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/inactive1
PASS 33 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/inactive2
PASS 34 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/inactive3
==6889==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==6889==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffc98323000; bottom 0x7f5f1797c000; size: 0x009d809a7000 (676467470336)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 35 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/chain1
---
PASS 39 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/missingclient
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/test-crypto-tlssession -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-crypto-tlssession" 
PASS 17 ahci-test /x86_64/ahci/io/pio/lba28/long/high
==6899==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 18 ahci-test /x86_64/ahci/io/pio/lba28/short/zero
PASS 1 test-crypto-tlssession /qcrypto/tlssession/psk
==6905==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 19 ahci-test /x86_64/ahci/io/pio/lba28/short/low
==6911==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 20 ahci-test /x86_64/ahci/io/pio/lba28/short/high
==6917==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==6917==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7fffe14d6000; bottom 0x7fa1c93fe000; size: 0x005e180d8000 (404130463744)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 21 ahci-test /x86_64/ahci/io/pio/lba48/simple/zero
PASS 2 test-crypto-tlssession /qcrypto/tlssession/basicca
==6923==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==6923==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffe70ee0000; bottom 0x7fa5119fe000; size: 0x00595f4e2000 (383851044864)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 22 ahci-test /x86_64/ahci/io/pio/lba48/simple/low
PASS 3 test-crypto-tlssession /qcrypto/tlssession/differentca
==6929==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==6929==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffe7721c000; bottom 0x7fea7cdfe000; size: 0x0013fa41e000 (85802999808)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 23 ahci-test /x86_64/ahci/io/pio/lba48/simple/high
PASS 4 test-crypto-tlssession /qcrypto/tlssession/altname1
==6935==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==6935==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffc759b1000; bottom 0x7fb5107fe000; size: 0x0047651b3000 (306638958592)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 5 test-crypto-tlssession /qcrypto/tlssession/altname2
PASS 24 ahci-test /x86_64/ahci/io/pio/lba48/double/zero
PASS 6 test-crypto-tlssession /qcrypto/tlssession/altname3
==6941==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 7 test-crypto-tlssession /qcrypto/tlssession/altname4
==6941==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7fff6b1f3000; bottom 0x7fadc91fe000; size: 0x0051a1ff5000 (350610214912)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 8 test-crypto-tlssession /qcrypto/tlssession/altname5
PASS 25 ahci-test /x86_64/ahci/io/pio/lba48/double/low
PASS 9 test-crypto-tlssession /qcrypto/tlssession/altname6
==6947==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==6947==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffff028f000; bottom 0x7f0a569fe000; size: 0x00f599891000 (1054842884096)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 10 test-crypto-tlssession /qcrypto/tlssession/wildcard1
---
PASS 16 test-crypto-tlssession /qcrypto/tlssession/cachain
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/test-qga -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-qga" 
PASS 26 ahci-test /x86_64/ahci/io/pio/lba48/double/high
==6956==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==6956==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffdd8e54000; bottom 0x7f4dfe97c000; size: 0x00afda4d8000 (755281788928)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 27 ahci-test /x86_64/ahci/io/pio/lba48/long/zero
==6967==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 1 test-qga /qga/sync-delimited
PASS 2 test-qga /qga/sync
PASS 3 test-qga /qga/ping
==6967==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffd7defa000; bottom 0x7f96135fe000; size: 0x00676a8fc000 (444169437184)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 4 test-qga /qga/info
---
PASS 16 test-qga /qga/invalid-args
PASS 17 test-qga /qga/fsfreeze-status
PASS 28 ahci-test /x86_64/ahci/io/pio/lba48/long/low
==6976==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==6976==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffca5921000; bottom 0x7fbf8e57c000; size: 0x003d173a5000 (262382702592)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 18 test-qga /qga/blacklist
---
PASS 20 test-qga /qga/guest-exec
PASS 21 test-qga /qga/guest-exec-invalid
PASS 29 ahci-test /x86_64/ahci/io/pio/lba48/long/high
==6994==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 22 test-qga /qga/guest-get-osinfo
PASS 23 test-qga /qga/guest-get-host-name
PASS 24 test-qga /qga/guest-get-timezone
---
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/test-util-filemonitor -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-util-filemonitor" 
PASS 1 test-util-filemonitor /util/filemonitor
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/test-util-sockets -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-util-sockets" 
==7004==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 1 test-util-sockets /util/socket/is-socket/bad
PASS 2 test-util-sockets /util/socket/is-socket/good
PASS 3 test-util-sockets /socket/fd-pass/name/good
---
PASS 5 test-authz-list /auth/list/explicit/deny
PASS 6 test-authz-list /auth/list/explicit/allow
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/test-authz-listfile -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-authz-listfile" 
==7024==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 1 test-authz-listfile /auth/list/complex
PASS 2 test-authz-listfile /auth/list/default/deny
PASS 3 test-authz-listfile /auth/list/default/allow
---
PASS 4 test-io-channel-file /io/channel/pipe/sync
PASS 5 test-io-channel-file /io/channel/pipe/async
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/test-io-channel-tls -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-io-channel-tls" 
==7081==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 33 ahci-test /x86_64/ahci/io/dma/lba28/fragmented
PASS 1 test-io-channel-tls /qio/channel/tls/basic
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/test-io-channel-command -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-io-channel-command" 
==7102==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 1 test-io-channel-command /io/channel/command/fifo/sync
PASS 2 test-io-channel-command /io/channel/command/fifo/async
PASS 3 test-io-channel-command /io/channel/command/echo/sync
---
PASS 8 test-crypto-ivgen /crypto/ivgen/essiv/1f2e3d4c
PASS 9 test-crypto-ivgen /crypto/ivgen/essiv/1f2e3d4c5b6a7988
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/test-crypto-afsplit -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-crypto-afsplit" 
==7123==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 1 test-crypto-afsplit /crypto/afsplit/sha256/5
PASS 2 test-crypto-afsplit /crypto/afsplit/sha256/5000
PASS 3 test-crypto-afsplit /crypto/afsplit/sha256/big
---
PASS 17 test-crypto-xts /crypto/xts/t-21-key-32-ptx-31/basic
PASS 18 test-crypto-xts /crypto/xts/t-21-key-32-ptx-31/unaligned
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/test-crypto-block -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-crypto-block" 
==7145==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 1 test-crypto-block /crypto/block/qcow
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/test-logging -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-logging" 
PASS 1 test-logging /logging/parse_range
---
PASS 4 test-logging /logging/logfile_lock_path
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/test-replication -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-replication" 
PASS 36 ahci-test /x86_64/ahci/io/dma/lba28/simple/low
==7160==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7162==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 1 test-replication /replication/primary/read
PASS 37 ahci-test /x86_64/ahci/io/dma/lba28/simple/high
PASS 2 test-replication /replication/primary/write
==7170==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 3 test-replication /replication/primary/start
PASS 38 ahci-test /x86_64/ahci/io/dma/lba28/double/zero
PASS 4 test-replication /replication/primary/stop
PASS 5 test-replication /replication/primary/do_checkpoint
PASS 6 test-replication /replication/primary/get_error_all
==7176==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 7 test-replication /replication/secondary/read
PASS 39 ahci-test /x86_64/ahci/io/dma/lba28/double/low
==7182==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 8 test-replication /replication/secondary/write
PASS 40 ahci-test /x86_64/ahci/io/dma/lba28/double/high
==7188==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7188==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffd2897d000; bottom 0x7f90d43fd000; size: 0x006c54580000 (465271521280)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 41 ahci-test /x86_64/ahci/io/dma/lba28/long/zero
==7195==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7195==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffeca351000; bottom 0x7fc3e1ffd000; size: 0x003ae8354000 (253003907072)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 42 ahci-test /x86_64/ahci/io/dma/lba28/long/low
==7203==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7160==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffe35082000; bottom 0x7f81fe40c000; size: 0x007c36c76000 (533494980608)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
==7203==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffc14fd0000; bottom 0x7f26d7923000; size: 0x00d53d6ad000 (915858444288)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 9 test-replication /replication/secondary/start
PASS 43 ahci-test /x86_64/ahci/io/dma/lba28/long/high
==7231==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 44 ahci-test /x86_64/ahci/io/dma/lba28/short/zero
==7237==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 45 ahci-test /x86_64/ahci/io/dma/lba28/short/low
==7243==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 46 ahci-test /x86_64/ahci/io/dma/lba28/short/high
PASS 10 test-replication /replication/secondary/stop
==7249==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 47 ahci-test /x86_64/ahci/io/dma/lba48/simple/zero
==7255==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 48 ahci-test /x86_64/ahci/io/dma/lba48/simple/low
==7261==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 49 ahci-test /x86_64/ahci/io/dma/lba48/simple/high
PASS 11 test-replication /replication/secondary/continuous_replication
==7267==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 50 ahci-test /x86_64/ahci/io/dma/lba48/double/zero
==7273==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 51 ahci-test /x86_64/ahci/io/dma/lba48/double/low
==7279==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 12 test-replication /replication/secondary/do_checkpoint
PASS 52 ahci-test /x86_64/ahci/io/dma/lba48/double/high
==7285==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7285==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7fff80918000; bottom 0x7f1364bfd000; size: 0x00ec1bd1b000 (1014079008768)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 13 test-replication /replication/secondary/get_error_all
PASS 53 ahci-test /x86_64/ahci/io/dma/lba48/long/zero
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/test-bufferiszero -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-bufferiszero" 
==7292==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7292==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffd4bfd2000; bottom 0x7fecec5fd000; size: 0x00105f9d5000 (70323621888)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 54 ahci-test /x86_64/ahci/io/dma/lba48/long/low
==7302==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7302==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffe54b0b000; bottom 0x7f7b0fdfd000; size: 0x008344d0e000 (563795255296)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 55 ahci-test /x86_64/ahci/io/dma/lba48/long/high
==7309==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 56 ahci-test /x86_64/ahci/io/dma/lba48/short/zero
==7315==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 57 ahci-test /x86_64/ahci/io/dma/lba48/short/low
==7321==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 58 ahci-test /x86_64/ahci/io/dma/lba48/short/high
==7327==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 59 ahci-test /x86_64/ahci/io/ncq/simple
==7333==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 60 ahci-test /x86_64/ahci/io/ncq/retry
==7339==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 61 ahci-test /x86_64/ahci/flush/simple
==7345==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 62 ahci-test /x86_64/ahci/flush/retry
==7351==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7357==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 63 ahci-test /x86_64/ahci/flush/migrate
==7365==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7371==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 64 ahci-test /x86_64/ahci/migrate/sanity
==7379==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7385==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 65 ahci-test /x86_64/ahci/migrate/dma/simple
==7393==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7399==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 66 ahci-test /x86_64/ahci/migrate/dma/halted
==7407==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7413==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 67 ahci-test /x86_64/ahci/migrate/ncq/simple
==7421==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7427==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 68 ahci-test /x86_64/ahci/migrate/ncq/halted
==7435==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 69 ahci-test /x86_64/ahci/cdrom/eject
==7440==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 70 ahci-test /x86_64/ahci/cdrom/dma/single
==7446==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 71 ahci-test /x86_64/ahci/cdrom/dma/multi
==7452==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 72 ahci-test /x86_64/ahci/cdrom/pio/single
==7458==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7458==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffc80b17000; bottom 0x7fa603dee000; size: 0x00567cd29000 (371461361664)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 73 ahci-test /x86_64/ahci/cdrom/pio/multi
---
PASS 527 ptimer-test /ptimer/periodic_with_load_0 policy=wrap_after_one_period,continuous_trigger,no_immediate_reload,no_counter_rounddown,trigger_only_on_decrement,
PASS 528 ptimer-test /ptimer/oneshot_with_load_0 policy=wrap_after_one_period,continuous_trigger,no_immediate_reload,no_counter_rounddown,trigger_only_on_decrement,
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/test-qapi-util -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-qapi-util" 
==7464==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 74 ahci-test /x86_64/ahci/cdrom/pio/bcl
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 QTEST_QEMU_IMG=qemu-img tests/qtest/hd-geo-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="hd-geo-test" 
PASS 1 test-qapi-util /qapi/util/qapi_enum_parse
---
PASS 22 test-qgraph /qgraph/test_test_in_path
PASS 23 test-qgraph /qgraph/test_double_edge
PASS 1 hd-geo-test /x86_64/hd-geo/ide/none
==7491==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 2 hd-geo-test /x86_64/hd-geo/ide/drive/cd_0
==7497==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 3 hd-geo-test /x86_64/hd-geo/ide/drive/mbr/blank
==7503==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 4 hd-geo-test /x86_64/hd-geo/ide/drive/mbr/lba
==7509==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 5 hd-geo-test /x86_64/hd-geo/ide/drive/mbr/chs
==7515==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 6 hd-geo-test /x86_64/hd-geo/ide/device/mbr/blank
==7521==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 7 hd-geo-test /x86_64/hd-geo/ide/device/mbr/lba
==7527==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 8 hd-geo-test /x86_64/hd-geo/ide/device/mbr/chs
==7533==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 9 hd-geo-test /x86_64/hd-geo/ide/device/user/chs
==7538==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 10 hd-geo-test /x86_64/hd-geo/ide/device/user/chst
==7544==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7548==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7552==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7556==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7560==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7564==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7568==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7572==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7575==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 11 hd-geo-test /x86_64/hd-geo/override/ide
==7582==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7586==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7590==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7594==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7598==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7602==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7606==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7610==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7613==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 12 hd-geo-test /x86_64/hd-geo/override/scsi
==7620==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7624==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7628==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7632==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7636==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7640==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7644==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7648==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7651==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 13 hd-geo-test /x86_64/hd-geo/override/scsi_2_controllers
==7658==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7662==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7666==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7670==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7673==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 14 hd-geo-test /x86_64/hd-geo/override/virtio_blk
==7680==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7684==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7687==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 15 hd-geo-test /x86_64/hd-geo/override/zero_chs
==7694==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7698==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7702==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7706==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7709==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 16 hd-geo-test /x86_64/hd-geo/override/scsi_hot_unplug
==7716==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7720==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7724==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7728==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7731==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 17 hd-geo-test /x86_64/hd-geo/override/virtio_hot_unplug
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 QTEST_QEMU_IMG=qemu-img tests/qtest/boot-order-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="boot-order-test" 
PASS 1 boot-order-test /x86_64/boot-order/pc
---
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: -accel kvm: failed to initialize kvm: No such file or directory
qemu-system-x86_64: falling back to tcg
==7800==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!

Looking for expected file 'tests/data/acpi/pc/FACP'
Using expected file 'tests/data/acpi/pc/FACP'
---
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: -accel kvm: failed to initialize kvm: No such file or directory
qemu-system-x86_64: falling back to tcg
==7806==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!

Looking for expected file 'tests/data/acpi/q35/FACP'
Using expected file 'tests/data/acpi/q35/FACP'
---
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: -accel kvm: failed to initialize kvm: No such file or directory
qemu-system-x86_64: falling back to tcg
==7812==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!

Looking for expected file 'tests/data/acpi/pc/FACP.bridge'
Looking for expected file 'tests/data/acpi/pc/FACP'
---
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: -accel kvm: failed to initialize kvm: No such file or directory
qemu-system-x86_64: falling back to tcg
==7818==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!

Looking for expected file 'tests/data/acpi/pc/FACP.ipmikcs'
Looking for expected file 'tests/data/acpi/pc/FACP'
---
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: -accel kvm: failed to initialize kvm: No such file or directory
qemu-system-x86_64: falling back to tcg
==7824==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!

Looking for expected file 'tests/data/acpi/pc/FACP.cphp'
Looking for expected file 'tests/data/acpi/pc/FACP'
---
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: -accel kvm: failed to initialize kvm: No such file or directory
qemu-system-x86_64: falling back to tcg
==7831==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!

Looking for expected file 'tests/data/acpi/pc/FACP.memhp'
Looking for expected file 'tests/data/acpi/pc/FACP'
---
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: -accel kvm: failed to initialize kvm: No such file or directory
qemu-system-x86_64: falling back to tcg
==7837==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!

Looking for expected file 'tests/data/acpi/pc/FACP.numamem'
Looking for expected file 'tests/data/acpi/pc/FACP'
---
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: -accel kvm: failed to initialize kvm: No such file or directory
qemu-system-x86_64: falling back to tcg
==7843==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!

Looking for expected file 'tests/data/acpi/pc/FACP.dimmpxm'
Looking for expected file 'tests/data/acpi/pc/FACP'
---
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: -accel kvm: failed to initialize kvm: No such file or directory
qemu-system-x86_64: falling back to tcg
==7852==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!

Looking for expected file 'tests/data/acpi/pc/FACP.acpihmat'
Looking for expected file 'tests/data/acpi/pc/FACP'
---
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: -accel kvm: failed to initialize kvm: No such file or directory
qemu-system-x86_64: falling back to tcg
==7859==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!

Looking for expected file 'tests/data/acpi/q35/FACP.bridge'
Looking for expected file 'tests/data/acpi/q35/FACP'
---
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: -accel kvm: failed to initialize kvm: No such file or directory
qemu-system-x86_64: falling back to tcg
==7865==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!

Looking for expected file 'tests/data/acpi/q35/FACP.mmio64'
Looking for expected file 'tests/data/acpi/q35/FACP'
---
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: -accel kvm: failed to initialize kvm: No such file or directory
qemu-system-x86_64: falling back to tcg
==7871==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!

Looking for expected file 'tests/data/acpi/q35/FACP.ipmibt'
Looking for expected file 'tests/data/acpi/q35/FACP'
---
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: -accel kvm: failed to initialize kvm: No such file or directory
qemu-system-x86_64: falling back to tcg
==7877==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!

Looking for expected file 'tests/data/acpi/q35/FACP.cphp'
Looking for expected file 'tests/data/acpi/q35/FACP'
---
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: -accel kvm: failed to initialize kvm: No such file or directory
qemu-system-x86_64: falling back to tcg
==7884==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!

Looking for expected file 'tests/data/acpi/q35/FACP.memhp'
Looking for expected file 'tests/data/acpi/q35/FACP'
---
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: -accel kvm: failed to initialize kvm: No such file or directory
qemu-system-x86_64: falling back to tcg
==7890==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!

Looking for expected file 'tests/data/acpi/q35/FACP.numamem'
Looking for expected file 'tests/data/acpi/q35/FACP'
---
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: -accel kvm: failed to initialize kvm: No such file or directory
qemu-system-x86_64: falling back to tcg
==7896==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!

Looking for expected file 'tests/data/acpi/q35/FACP.dimmpxm'
Looking for expected file 'tests/data/acpi/q35/FACP'
---
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: -accel kvm: failed to initialize kvm: No such file or directory
qemu-system-x86_64: falling back to tcg
==7905==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!

Looking for expected file 'tests/data/acpi/q35/FACP.acpihmat'
Looking for expected file 'tests/data/acpi/q35/FACP'
---
PASS 1 i440fx-test /x86_64/i440fx/defaults
PASS 2 i440fx-test /x86_64/i440fx/pam
PASS 3 i440fx-test /x86_64/i440fx/firmware/bios
==7997==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 4 i440fx-test /x86_64/i440fx/firmware/pflash
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 QTEST_QEMU_IMG=qemu-img tests/qtest/fw_cfg-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="fw_cfg-test" 
PASS 1 fw_cfg-test /x86_64/fw_cfg/signature
---
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 QTEST_QEMU_IMG=qemu-img tests/qtest/drive_del-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="drive_del-test" 
PASS 1 drive_del-test /x86_64/drive_del/without-dev
PASS 2 drive_del-test /x86_64/drive_del/after_failed_device_add
==8090==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 3 drive_del-test /x86_64/blockdev/drive_del_device_del
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 QTEST_QEMU_IMG=qemu-img tests/qtest/wdt_ib700-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="wdt_ib700-test" 
PASS 1 wdt_ib700-test /x86_64/wdt_ib700/pause
---
dbus-daemon[8260]: Could not get password database information for UID of current process: User "???" unknown or no memory to allocate password entry

**
ERROR:/tmp/qemu-test/src/tests/qtest/dbus-vmstate-test.c:114:get_connection: assertion failed (err == NULL): The connection is closed (g-io-error-quark, 18)
cleaning up pid 8260
ERROR - Bail out! ERROR:/tmp/qemu-test/src/tests/qtest/dbus-vmstate-test.c:114:get_connection: assertion failed (err == NULL): The connection is closed (g-io-error-quark, 18)
make: *** [/tmp/qemu-test/src/tests/Makefile.include:632: check-qtest-x86_64] Error 1
make: *** Waiting for unfinished jobs....
Traceback (most recent call last):
  File "./tests/docker/docker.py", line 664, in <module>
---
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['sudo', '-n', 'docker', 'run', '--label', 'com.qemu.instance.uuid=3e9a045a5efd4bae80c1ed053f7e0446', '-u', '1003', '--security-opt', 'seccomp=unconfined', '--rm', '-e', 'TARGET_LIST=x86_64-softmmu', '-e', 'EXTRA_CONFIGURE_OPTS=', '-e', 'V=', '-e', 'J=14', '-e', 'DEBUG=', '-e', 'SHOW_ENV=', '-e', 'CCACHE_DIR=/var/tmp/ccache', '-v', '/home/patchew2/.cache/qemu-docker-ccache:/var/tmp/ccache:z', '-v', '/var/tmp/patchew-tester-tmp-5b4hzccz/src/docker-src.2020-03-10-12.45.21.24240:/var/tmp/qemu:z,ro', 'qemu:fedora', '/var/tmp/qemu/run', 'test-debug']' returned non-zero exit status 2.
filter=--filter=label=com.qemu.instance.uuid=3e9a045a5efd4bae80c1ed053f7e0446
make[1]: *** [docker-run] Error 1
make[1]: Leaving directory `/var/tmp/patchew-tester-tmp-5b4hzccz/src'
make: *** [docker-run-test-debug@fedora] Error 2

real    28m9.263s
user    0m9.194s


The full log is available at
http://patchew.org/logs/20200310150947.3510824-1-borntraeger@de.ibm.com/testing.asan/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PULL 0/4] s390x/ipl: Fixes for ipl and bios
  2020-03-10 15:09 [PULL 0/4] s390x/ipl: Fixes for ipl and bios Christian Borntraeger
                   ` (4 preceding siblings ...)
  2020-03-10 17:13 ` [PULL 0/4] s390x/ipl: Fixes for ipl and bios no-reply
@ 2020-03-10 20:04 ` Peter Maydell
  5 siblings, 0 replies; 10+ messages in thread
From: Peter Maydell @ 2020-03-10 20:04 UTC (permalink / raw)
  To: Christian Borntraeger
  Cc: Thomas Huth, David Hildenbrand, Cornelia Huck, qemu-devel,
	Halil Pasic, qemu-s390x, Richard Henderson

On Tue, 10 Mar 2020 at 15:09, Christian Borntraeger
<borntraeger@de.ibm.com> wrote:
>
> Peter,
>
> The following changes since commit 373c7068dd610e97f0b551b5a6d0a27cd6da4506:
>
>   qemu.nsi: Install Sphinx documentation (2020-03-09 16:45:00 +0000)
>
> are available in the Git repository at:
>
>   git://github.com/borntraeger/qemu.git tags/s390x-20200310
>
> for you to fetch changes up to 94c21436e5a89143f8b9cb4d089d1a2f3f4fd377:
>
>   s390x: ipl: Consolidate iplb validity check into one function (2020-03-10 10:18:20 +0100)
>
> ----------------------------------------------------------------
> s390x/ipl: Fixes for ipl and bios
>
> - provide a pointer to the loadparm. This fixes crashes in zipl
> - do not throw away guest changes of the IPL parameter during reset
> - refactor IPLB checks
>


Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/5.0
for any user-visible changes.

-- PMM


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PULL 3/4] s390/ipl: sync back loadparm
  2020-03-10 15:09 ` [PULL 3/4] s390/ipl: sync back loadparm Christian Borntraeger
@ 2020-03-19 20:31   ` Peter Maydell
  2020-03-20  9:23     ` Christian Borntraeger
  0 siblings, 1 reply; 10+ messages in thread
From: Peter Maydell @ 2020-03-19 20:31 UTC (permalink / raw)
  To: Christian Borntraeger
  Cc: Thomas Huth, Janosch Frank, David Hildenbrand, Cornelia Huck,
	qemu-devel, Halil Pasic, qemu-s390x, Marc Hartmayer,
	Viktor Mihajlovski, Richard Henderson

On Tue, 10 Mar 2020 at 15:09, Christian Borntraeger
<borntraeger@de.ibm.com> wrote:
>
> From: Halil Pasic <pasic@linux.ibm.com>
>
> We expose loadparm as a r/w machine property, but if loadparm is set by
> the guest via DIAG 308, we don't update the property. Having a
> disconnect between the guest view and the QEMU property is not nice in
> itself, but things get even worse for SCSI, where under certain
> circumstances (see 789b5a401b "s390: Ensure IPL from SCSI works as
> expected" for details) we call s390_gen_initial_iplb() on resets
> effectively overwriting the guest/user supplied loadparm with the stale
> value.

Hi; Coverity points out (CID 1421966) that you have a buffer overrun here:

> +static void update_machine_ipl_properties(IplParameterBlock *iplb)
> +{
> +    Object *machine = qdev_get_machine();
> +    Error *err = NULL;
> +
> +    /* Sync loadparm */
> +    if (iplb->flags & DIAG308_FLAGS_LP_VALID) {
> +        uint8_t *ebcdic_loadparm = iplb->loadparm;
> +        char ascii_loadparm[8];

This array is 8 bytes...

> +        int i;
> +
> +        for (i = 0; i < 8 && ebcdic_loadparm[i]; i++) {
> +            ascii_loadparm[i] = ebcdic2ascii[(uint8_t) ebcdic_loadparm[i]];
> +        }
> +        ascii_loadparm[i] = 0;

...but you can write 9 bytes into it (8 from the guest-controlled
iplb_loadparm buffer plus one for the trailing NUL).

> +        object_property_set_str(machine, ascii_loadparm, "loadparm", &err);
> +    } else {
> +        object_property_set_str(machine, "", "loadparm", &err);
> +    }
> +    if (err) {
> +        warn_report_err(err);
> +    }
> +}

thanks
-- PMM


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PULL 3/4] s390/ipl: sync back loadparm
  2020-03-19 20:31   ` Peter Maydell
@ 2020-03-20  9:23     ` Christian Borntraeger
  2020-03-20 14:02       ` Halil Pasic
  0 siblings, 1 reply; 10+ messages in thread
From: Christian Borntraeger @ 2020-03-20  9:23 UTC (permalink / raw)
  To: Peter Maydell
  Cc: Thomas Huth, Janosch Frank, David Hildenbrand, Cornelia Huck,
	qemu-devel, Halil Pasic, qemu-s390x, Marc Hartmayer,
	Viktor Mihajlovski, Richard Henderson



On 19.03.20 21:31, Peter Maydell wrote:
> On Tue, 10 Mar 2020 at 15:09, Christian Borntraeger
> <borntraeger@de.ibm.com> wrote:
>>
>> From: Halil Pasic <pasic@linux.ibm.com>
>>
>> We expose loadparm as a r/w machine property, but if loadparm is set by
>> the guest via DIAG 308, we don't update the property. Having a
>> disconnect between the guest view and the QEMU property is not nice in
>> itself, but things get even worse for SCSI, where under certain
>> circumstances (see 789b5a401b "s390: Ensure IPL from SCSI works as
>> expected" for details) we call s390_gen_initial_iplb() on resets
>> effectively overwriting the guest/user supplied loadparm with the stale
>> value.
> 
> Hi; Coverity points out (CID 1421966) that you have a buffer overrun here:
> 
>> +static void update_machine_ipl_properties(IplParameterBlock *iplb)
>> +{
>> +    Object *machine = qdev_get_machine();
>> +    Error *err = NULL;
>> +
>> +    /* Sync loadparm */
>> +    if (iplb->flags & DIAG308_FLAGS_LP_VALID) {
>> +        uint8_t *ebcdic_loadparm = iplb->loadparm;
>> +        char ascii_loadparm[8];
> 
> This array is 8 bytes...
> 
>> +        int i;
>> +
>> +        for (i = 0; i < 8 && ebcdic_loadparm[i]; i++) {
>> +            ascii_loadparm[i] = ebcdic2ascii[(uint8_t) ebcdic_loadparm[i]];
>> +        }
>> +        ascii_loadparm[i] = 0;
> 
> ...but you can write 9 bytes into it (8 from the guest-controlled
> iplb_loadparm buffer plus one for the trailing NUL).

Right, so ascii_loadparm needs to be 9 bytes as this needs the trailing 0.
Halil, can you spin up a fix patch?

> 
>> +        object_property_set_str(machine, ascii_loadparm, "loadparm", &err);
>> +    } else {
>> +        object_property_set_str(machine, "", "loadparm", &err);
>> +    }
>> +    if (err) {
>> +        warn_report_err(err);
>> +    }
>> +}
> 
> thanks
> -- PMM
> 



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PULL 3/4] s390/ipl: sync back loadparm
  2020-03-20  9:23     ` Christian Borntraeger
@ 2020-03-20 14:02       ` Halil Pasic
  0 siblings, 0 replies; 10+ messages in thread
From: Halil Pasic @ 2020-03-20 14:02 UTC (permalink / raw)
  To: Christian Borntraeger
  Cc: Peter Maydell, Thomas Huth, Janosch Frank, David Hildenbrand,
	Cornelia Huck, qemu-devel, qemu-s390x, Marc Hartmayer,
	Viktor Mihajlovski, Richard Henderson

On Fri, 20 Mar 2020 10:23:03 +0100
Christian Borntraeger <borntraeger@de.ibm.com> wrote:

> 
> 
> On 19.03.20 21:31, Peter Maydell wrote:
> > On Tue, 10 Mar 2020 at 15:09, Christian Borntraeger
> > <borntraeger@de.ibm.com> wrote:
> >>
> >> From: Halil Pasic <pasic@linux.ibm.com>
> >>
> >> We expose loadparm as a r/w machine property, but if loadparm is set by
> >> the guest via DIAG 308, we don't update the property. Having a
> >> disconnect between the guest view and the QEMU property is not nice in
> >> itself, but things get even worse for SCSI, where under certain
> >> circumstances (see 789b5a401b "s390: Ensure IPL from SCSI works as
> >> expected" for details) we call s390_gen_initial_iplb() on resets
> >> effectively overwriting the guest/user supplied loadparm with the stale
> >> value.
> > 
> > Hi; Coverity points out (CID 1421966) that you have a buffer overrun here:
> > 
> >> +static void update_machine_ipl_properties(IplParameterBlock *iplb)
> >> +{
> >> +    Object *machine = qdev_get_machine();
> >> +    Error *err = NULL;
> >> +
> >> +    /* Sync loadparm */
> >> +    if (iplb->flags & DIAG308_FLAGS_LP_VALID) {
> >> +        uint8_t *ebcdic_loadparm = iplb->loadparm;
> >> +        char ascii_loadparm[8];
> > 
> > This array is 8 bytes...
> > 
> >> +        int i;
> >> +
> >> +        for (i = 0; i < 8 && ebcdic_loadparm[i]; i++) {
> >> +            ascii_loadparm[i] = ebcdic2ascii[(uint8_t) ebcdic_loadparm[i]];
> >> +        }
> >> +        ascii_loadparm[i] = 0;
> > 
> > ...but you can write 9 bytes into it (8 from the guest-controlled
> > iplb_loadparm buffer plus one for the trailing NUL).
> 
> Right, so ascii_loadparm needs to be 9 bytes as this needs the trailing 0.
> Halil, can you spin up a fix patch?

Sure!

Regards,
Halil



^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2020-03-20 14:03 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-10 15:09 [PULL 0/4] s390x/ipl: Fixes for ipl and bios Christian Borntraeger
2020-03-10 15:09 ` [PULL 1/4] pc-bios: s390x: Save iplb location in lowcore Christian Borntraeger
2020-03-10 15:09 ` [PULL 2/4] s390x/bios: rebuild s390-ccw.img Christian Borntraeger
2020-03-10 15:09 ` [PULL 3/4] s390/ipl: sync back loadparm Christian Borntraeger
2020-03-19 20:31   ` Peter Maydell
2020-03-20  9:23     ` Christian Borntraeger
2020-03-20 14:02       ` Halil Pasic
2020-03-10 15:09 ` [PULL 4/4] s390x: ipl: Consolidate iplb validity check into one function Christian Borntraeger
2020-03-10 17:13 ` [PULL 0/4] s390x/ipl: Fixes for ipl and bios no-reply
2020-03-10 20:04 ` Peter Maydell

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.