summary refs log tree commit diff stats
path: root/hw/core/generic-loader.c
diff options
context:
space:
mode:
authorPetr Tesarik <ptesarik@suse.com>2022-01-20 10:27:15 +0100
committerAlistair Francis <alistair.francis@wdc.com>2022-02-16 12:24:18 +1000
commitf42483d776bce29a9925ed61cc10eb27a5b2446c (patch)
tree2a5b12a80aa14032be220a5e3c8f2bf753c3fcc4 /hw/core/generic-loader.c
parenta6b7bd35f307bafb1f05d248194ae976e29949c8 (diff)
downloadfocaccia-qemu-f42483d776bce29a9925ed61cc10eb27a5b2446c.tar.gz
focaccia-qemu-f42483d776bce29a9925ed61cc10eb27a5b2446c.zip
Allow setting up to 8 bytes with the generic loader
The documentation for the generic loader says that "the maximum size of
the data is 8 bytes". However, attempts to set data-len=8 trigger the
following assertion failure:

../hw/core/generic-loader.c:59: generic_loader_reset: Assertion `s->data_len < sizeof(s->data)' failed.

The type of s->data is uint64_t (i.e. 8 bytes long), so I believe this
assert should use <= instead of <.

Fixes: e481a1f63c93 ("generic-loader: Add a generic loader")
Signed-off-by: Petr Tesarik <ptesarik@suse.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20220120092715.7805-1-ptesarik@suse.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Diffstat (limited to 'hw/core/generic-loader.c')
-rw-r--r--hw/core/generic-loader.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/core/generic-loader.c b/hw/core/generic-loader.c
index 9a24ffb880..504ed7ca72 100644
--- a/hw/core/generic-loader.c
+++ b/hw/core/generic-loader.c
@@ -56,7 +56,7 @@ static void generic_loader_reset(void *opaque)
     }
 
     if (s->data_len) {
-        assert(s->data_len < sizeof(s->data));
+        assert(s->data_len <= sizeof(s->data));
         dma_memory_write(s->cpu->as, s->addr, &s->data, s->data_len,
                          MEMTXATTRS_UNSPECIFIED);
     }