Aaron Durbin submitted this change.

View Change

Approvals: build bot (Jenkins): Verified Aaron Durbin: Looks good to me, approved
soc/amd/picasso: Avoid NULL pointer dereference

Coverity detects dereferencing a pointer that might be "NULL" when
calling acpigen_write_scope. Add sanity check for scope to prevent
NULL pointer dereference.

Found-by: Coverity CID 1429980
TEST=None

Signed-off-by: John Zhao <john.zhao@intel.com>
Change-Id: I6214fb83bccb19fe4edad65ce6b862815b8dcec6
Reviewed-on: https://review.coreboot.org/c/coreboot/+/42837
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
---
M src/soc/amd/picasso/root_complex.c
1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/soc/amd/picasso/root_complex.c b/src/soc/amd/picasso/root_complex.c
index 036ff00..1c06928 100644
--- a/src/soc/amd/picasso/root_complex.c
+++ b/src/soc/amd/picasso/root_complex.c
@@ -1,6 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0-only */

#include <acpi/acpigen.h>
+#include <assert.h>
#include <cbmem.h>
#include <console/console.h>
#include <cpu/amd/msr.h>
@@ -134,14 +135,13 @@
static void root_complex_fill_ssdt(const struct device *device)
{
msr_t msr;
+ const char *scope;

- if (!device) {
- printk(BIOS_ERR, "%s: device is NULL! ACPI SSDT will be incomplete.\n",
- __func__);
- return;
- }
+ assert(device);

- acpigen_write_scope(acpi_device_scope(device));
+ scope = acpi_device_scope(device);
+ assert(scope);
+ acpigen_write_scope(scope);

msr = rdmsr(TOP_MEM);
acpigen_write_name_dword("TOM1", msr.lo);

To view, visit change 42837. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I6214fb83bccb19fe4edad65ce6b862815b8dcec6
Gerrit-Change-Number: 42837
Gerrit-PatchSet: 8
Gerrit-Owner: John Zhao <john.zhao@intel.com>
Gerrit-Reviewer: Aaron Durbin <adurbin@chromium.org>
Gerrit-Reviewer: Patrick Rudolph <siro@das-labor.org>
Gerrit-Reviewer: Paul Menzel <paulepanter@users.sourceforge.net>
Gerrit-Reviewer: Tim Wawrzynczak <twawrzynczak@chromium.org>
Gerrit-Reviewer: build bot (Jenkins) <no-reply@coreboot.org>
Gerrit-MessageType: merged