When using GCC 10.2 configured with --extra-cflags=-Os, we get: softmmu/physmem.c: In function ‘address_space_translate_for_iotlb’: softmmu/physmem.c:643:26: error: ‘notifier’ may be used uninitialized in this function [-Werror=maybe-uninitialized] 643 | notifier->active = true; | ^ softmmu/physmem.c:608:23: note: ‘notifier’ was declared here 608 | TCGIOMMUNotifier *notifier; | ^~~~~~~~
Insert assertions as hint to the compiler that 'notifier' can not be NULL there. Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org> --- Yet another hole in our CI. --- softmmu/physmem.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/softmmu/physmem.c b/softmmu/physmem.c index 6301f4f0a5c..65602ed548e 100644 --- a/softmmu/physmem.c +++ b/softmmu/physmem.c @@ -605,7 +605,7 @@ static void tcg_register_iommu_notifier(CPUState *cpu, * when the IOMMU tells us the mappings we've cached have changed. */ MemoryRegion *mr = MEMORY_REGION(iommu_mr); - TCGIOMMUNotifier *notifier; + TCGIOMMUNotifier *notifier = NULL; int i; for (i = 0; i < cpu->iommu_notifiers->len; i++) { @@ -638,6 +638,7 @@ static void tcg_register_iommu_notifier(CPUState *cpu, memory_region_register_iommu_notifier(notifier->mr, ¬ifier->n, &error_fatal); } + assert(notifier != NULL); if (!notifier->active) { notifier->active = true; -- 2.26.2