]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
smbios: Do not fall back on devicetree without valid mapping 967/head
authorMark Kettenis <kettenis@openbsd.org>
Sat, 9 May 2026 20:31:36 +0000 (22:31 +0200)
committerTom Rini <trini@konsulko.com>
Fri, 15 May 2026 14:18:11 +0000 (08:18 -0600)
The smbios_get_val_si() function may get called for a sysinfo
property for which there is no mapping to a devicetree property.
Avoid a NULL pointer dereference in this case by skipping the
read of the mapped property from the device tree.

Fixes: 83b28b55d74f ("smbios: add support for dynamic generation of Type 9 system slot tables")
Signed-off-by: Mark Kettenis <kettenis@openbsd.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Raymond Mao <raymondmaoca@gmail.com>
lib/smbios.c

index d5f18c8bd69da6cff1a50e4685bea86703dd7fb0..906d275351773b301f9d8217a6a90729de4e3c8c 100644 (file)
@@ -292,7 +292,7 @@ static int smbios_get_val_si(struct smbios_ctx * __maybe_unused ctx,
 
        /* If the node is still missing, try with the mapping values */
        nprop = convert_sysinfo_to_dt(ctx->subnode_name, prop);
-       if (!ofnode_read_u32(ofnode_root(), nprop->dt_str, &val))
+       if (nprop && !ofnode_read_u32(ofnode_root(), nprop->dt_str, &val))
                return val;
 #endif
        return val_def;