[PATCH v2] powerpc/xive: Avoid unitialized variable
Breno Leitao
leitao at debian.org
Fri Aug 24 09:26:39 AEST 2018
From: Breno Leitao <breno.leitao at gmail.com>
Function xive_native_get_ipi() might uses chip_id without it being
initialized.
This gives the following error on 'smatch' tool:
error: uninitialized symbol 'chip_id'
The suggestion is using xc->chip_id instead of consulting the OF for chip id,
which is safe since xive_prepare_cpu() should have initialized ->chip_id by
the time xive_native_get_ipi() is called.
CC: Cédric Le Goater <clg at kaod.org>
Signed-off-by: Breno Leitao <leitao at debian.org>
---
arch/powerpc/sysdev/xive/native.c | 11 +----------
1 file changed, 1 insertion(+), 10 deletions(-)
diff --git a/arch/powerpc/sysdev/xive/native.c b/arch/powerpc/sysdev/xive/native.c
index 311185b9960a..bd90fd464a3a 100644
--- a/arch/powerpc/sysdev/xive/native.c
+++ b/arch/powerpc/sysdev/xive/native.c
@@ -238,20 +238,11 @@ static bool xive_native_match(struct device_node *node)
#ifdef CONFIG_SMP
static int xive_native_get_ipi(unsigned int cpu, struct xive_cpu *xc)
{
- struct device_node *np;
- unsigned int chip_id;
s64 irq;
- /* Find the chip ID */
- np = of_get_cpu_node(cpu, NULL);
- if (np) {
- if (of_property_read_u32(np, "ibm,chip-id", &chip_id) < 0)
- chip_id = 0;
- }
-
/* Allocate an IPI and populate info about it */
for (;;) {
- irq = opal_xive_allocate_irq(chip_id);
+ irq = opal_xive_allocate_irq(xc->chip_id);
if (irq == OPAL_BUSY) {
msleep(1);
continue;
--
2.17.1
More information about the Linuxppc-dev
mailing list