]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
of/pci: Fix theoretical NULL dereference
authorRobin Murphy <robin.murphy@arm.com>
Wed, 15 Nov 2017 12:50:06 +0000 (12:50 +0000)
committerRob Herring <robh@kernel.org>
Thu, 16 Nov 2017 17:01:14 +0000 (11:01 -0600)
In the (relatively mechanical) process of adapting the RID-mapping code
to put the resulting ID in an output argument rather than the funtion
return value, we ended up with the debug print using the argument
pointer rather than the local value, which potentially defeats the
earlier NULL check.

Fixes: 987068fcbdb7: "of/irq: Break out msi-map lookup (again)"
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Rob Herring <robh@kernel.org>
drivers/of/of_pci.c

index e9ec931f5b9a565c7963dc8f3cf1b1c686effa23..a7b1cb6c2f657798a103f6f55acf3ef6f265377c 100644 (file)
@@ -374,7 +374,7 @@ int of_pci_map_rid(struct device_node *np, u32 rid,
 
                pr_debug("%pOF: %s, using mask %08x, rid-base: %08x, out-base: %08x, length: %08x, rid: %08x -> %08x\n",
                        np, map_name, map_mask, rid_base, out_base,
-                       rid_len, rid, *id_out);
+                       rid_len, rid, masked_rid - rid_base + out_base);
                return 0;
        }