All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] EDAC/amd64: avoid uninitialized variable use
@ 2023-02-14 10:33 Arnd Bergmann
  0 siblings, 0 replies; only message in thread
From: Arnd Bergmann @ 2023-02-14 10:33 UTC (permalink / raw)
  To: Yazen Ghannam, Borislav Petkov, Tony Luck
  Cc: Arnd Bergmann, James Morse, Mauro Carvalho Chehab, Robert Richter,
	William Roche, Muralidhara M K, Jia He, linux-edac, linux-kernel

From: Arnd Bergmann <arnd@arndb.de>

hw_info_get() tries to reserve two sibling devices, but the device IDs are
no longer initialized for Fam17 CPUs:

drivers/edac/amd64_edac.c:3936:7: error: variable 'pci_id1' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
                if (!pvt->umc)
                    ^~~~~~~~~
drivers/edac/amd64_edac.c:3943:37: note: uninitialized use occurs here
        ret = reserve_mc_sibling_devs(pvt, pci_id1, pci_id2);
                                           ^~~~~~~
drivers/edac/amd64_edac.c:3936:3: note: remove the 'if' if its condition is always true
                if (!pvt->umc)
                ^~~~~~~~~~~~~~
drivers/edac/amd64_edac.c:3936:7: error: variable 'pci_id2' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
                if (!pvt->umc)
                    ^~~~~~~~~
drivers/edac/amd64_edac.c:3943:46: note: uninitialized use occurs here
        ret = reserve_mc_sibling_devs(pvt, pci_id1, pci_id2);
                                                    ^~~~~~~
drivers/edac/amd64_edac.c:3936:3: note: remove the 'if' if its condition is always true
                if (!pvt->umc)
                ^~~~~~~~~~~~~~

Move this code into the 'else' branch where it is still possible.

Fixes: 6229235f7c66 ("EDAC/amd64: Remove PCI Function 6")
Fixes: cf981562e627 ("EDAC/amd64: Remove PCI Function 0")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
I have no idea if this change makes sense, this is merely a guess
based on the description of the two other commits.
---
 drivers/edac/amd64_edac.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/edac/amd64_edac.c b/drivers/edac/amd64_edac.c
index 1c4bef1cdf28..a149cd95e806 100644
--- a/drivers/edac/amd64_edac.c
+++ b/drivers/edac/amd64_edac.c
@@ -3938,11 +3938,11 @@ static int hw_info_get(struct amd64_pvt *pvt)
 	} else {
 		pci_id1 = fam_type->f1_id;
 		pci_id2 = fam_type->f2_id;
-	}
 
-	ret = reserve_mc_sibling_devs(pvt, pci_id1, pci_id2);
-	if (ret)
-		return ret;
+		ret = reserve_mc_sibling_devs(pvt, pci_id1, pci_id2);
+		if (ret)
+			return ret;
+	}
 
 	read_mc_regs(pvt);
 
-- 
2.39.1


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2023-02-14 10:33 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-14 10:33 [PATCH] EDAC/amd64: avoid uninitialized variable use Arnd Bergmann

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.