diff options
author | Alexandru Elisei <alexandru.elisei@arm.com> | 2021-07-13 18:06:29 +0100 |
---|---|---|
committer | Will Deacon <will@kernel.org> | 2021-07-16 16:02:34 +0100 |
commit | 6b74f68fcf06a3de6f5ac49f39e60a42bd3e78dc (patch) | |
tree | 3e906591522c5b497871c3075f0d7b9d76e69bbf | |
parent | 070fb918a563f5b25902419231e595f3c98b30ae (diff) | |
download | kvmtool-6b74f68fcf06a3de6f5ac49f39e60a42bd3e78dc.tar.gz |
arm/fdt.c: Don't generate the node if generator function is NULL
Print a more helpful debugging message when a MMIO device hasn't set a
function to generate an FDT node instead of causing a segmentation fault by
dereferencing a NULL pointer.
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Alexandru Elisei <alexandru.elisei@arm.com>
Link: https://lore.kernel.org/r/20210713170631.155595-3-alexandru.elisei@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
-rw-r--r-- | arm/fdt.c | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -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_debug("Missing FDT node generator for MMIO device %d", + dev_hdr->dev_num); + } dev_hdr = device__next_dev(dev_hdr); } |