aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandru Elisei <alexandru.elisei@arm.com>2021-07-13 18:06:29 +0100
committerWill Deacon <will@kernel.org>2021-07-16 16:02:34 +0100
commit6b74f68fcf06a3de6f5ac49f39e60a42bd3e78dc (patch)
tree3e906591522c5b497871c3075f0d7b9d76e69bbf
parent070fb918a563f5b25902419231e595f3c98b30ae (diff)
downloadkvmtool-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.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/arm/fdt.c b/arm/fdt.c
index 02091e9e..7032985e 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_debug("Missing FDT node generator for MMIO device %d",
+ dev_hdr->dev_num);
+ }
dev_hdr = device__next_dev(dev_hdr);
}