diff options
author | Thomas Bogendoerfer <tbogendoerfer@suse.de> | 2020-01-22 14:13:34 +0100 |
---|---|---|
committer | Paul Burton <paulburton@kernel.org> | 2020-01-22 10:15:45 -0800 |
commit | c0e79fd89749b0cda1c72049e2772dd2eeada86f (patch) | |
tree | b5371da10eb10949ca253e692574a2dcc9828ab3 /arch/mips/sgi-ip30 | |
parent | 4f29ad200f7b40fbcf73cd65f95087535ba78380 (diff) |
MIPS: SGI-IP30: Check for valid pointer before using it
Fix issue detected by Smatch:
./arch/mips/sgi-ip30/ip30-irq.c:236 heart_domain_free()
warn: variable dereferenced before check 'irqd' (see line 235)
Fixes: 7505576d1c1a ("MIPS: add support for SGI Octane (IP30)")
Signed-off-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
Signed-off-by: Paul Burton <paulburton@kernel.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: James Hogan <jhogan@kernel.org>
Cc: linux-mips@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: <stable@vger.kernel.org> # v5.5+
Diffstat (limited to 'arch/mips/sgi-ip30')
-rw-r--r-- | arch/mips/sgi-ip30/ip30-irq.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/mips/sgi-ip30/ip30-irq.c b/arch/mips/sgi-ip30/ip30-irq.c index d46655b914f1..c2ffcb920250 100644 --- a/arch/mips/sgi-ip30/ip30-irq.c +++ b/arch/mips/sgi-ip30/ip30-irq.c @@ -232,9 +232,10 @@ static void heart_domain_free(struct irq_domain *domain, return; irqd = irq_domain_get_irq_data(domain, virq); - clear_bit(irqd->hwirq, heart_irq_map); - if (irqd && irqd->chip_data) + if (irqd) { + clear_bit(irqd->hwirq, heart_irq_map); kfree(irqd->chip_data); + } } static const struct irq_domain_ops heart_domain_ops = { |