Commit 83b5a407 authored by Zhang Zekun's avatar Zhang Zekun Committed by Michael Ellerman
Browse files

powerpc/kexec: Fix return of uninitialized variable



of_property_read_u64() can fail and leave the variable uninitialized,
which will then be used. Return error if reading the property failed.

Fixes: 2e6bd221 ("powerpc/kexec_file: Enable early kernel OPAL calls")
Signed-off-by: default avatarZhang Zekun <zhangzekun11@huawei.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
Link: https://patch.msgid.link/20240930075628.125138-1-zhangzekun11@huawei.com
parent 352268dc
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -736,13 +736,18 @@ int setup_purgatory_ppc64(struct kimage *image, const void *slave_code,
	if (dn) {
		u64 val;

		of_property_read_u64(dn, "opal-base-address", &val);
		ret = of_property_read_u64(dn, "opal-base-address", &val);
		if (ret)
			goto out;

		ret = kexec_purgatory_get_set_symbol(image, "opal_base", &val,
						     sizeof(val), false);
		if (ret)
			goto out;

		of_property_read_u64(dn, "opal-entry-address", &val);
		ret = of_property_read_u64(dn, "opal-entry-address", &val);
		if (ret)
			goto out;
		ret = kexec_purgatory_get_set_symbol(image, "opal_entry", &val,
						     sizeof(val), false);
	}