Print a more helpful warning when a MMIO device hasn't set a function to generate an FDT instead of causing a segmentation fault by dereferencing a NULL pointer. Signed-off-by: Alexandru Elisei <alexandru.elisei@xxxxxxx> --- arm/fdt.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/arm/fdt.c b/arm/fdt.c index 02091e9e0bee..06287a13e395 100644 --- a/arm/fdt.c +++ b/arm/fdt.c @@ -171,7 +171,12 @@ static int setup_fdt(struct kvm *kvm) dev_hdr = device__first_dev(DEVICE_BUS_MMIO); while (dev_hdr) { generate_mmio_fdt_nodes = dev_hdr->data; - generate_mmio_fdt_nodes(fdt, dev_hdr, generate_irq_prop); + if (generate_mmio_fdt_nodes) { + generate_mmio_fdt_nodes(fdt, dev_hdr, generate_irq_prop); + } else { + pr_warning("Missing FDT node generator for MMIO device %d", + dev_hdr->dev_num); + } dev_hdr = device__next_dev(dev_hdr); } -- 2.32.0