[PATCH v2] powerpc/xive: Avoid unitialized variable
Cédric Le Goater
clg at kaod.org
Fri Aug 24 16:58:17 AEST 2018
On 08/24/2018 01:26 AM, Breno Leitao wrote:
> 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>
Reviewed-by: Cédric Le Goater <clg at kaod.org>
Thanks,
C.
> ---
> 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;
>
More information about the Linuxppc-dev
mailing list