lkml.org 
[lkml]   [2021]   [Oct]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.19 30/95] irqchip/gic-v3-its: Fix potential VPE leak on error
    Date
    From: Kaige Fu <kaige.fu@linux.alibaba.com>

    [ Upstream commit 280bef512933b2dda01d681d8cbe499b98fc5bdd ]

    In its_vpe_irq_domain_alloc, when its_vpe_init() returns an error,
    there is an off-by-one in the number of VPEs to be freed.

    Fix it by simply passing the number of VPEs allocated, which is the
    index of the loop iterating over the VPEs.

    Fixes: 7d75bbb4bc1a ("irqchip/gic-v3-its: Add VPE irq domain allocation/teardown")
    Signed-off-by: Kaige Fu <kaige.fu@linux.alibaba.com>
    [maz: fixed commit message]
    Signed-off-by: Marc Zyngier <maz@kernel.org>
    Link: https://lore.kernel.org/r/d9e36dee512e63670287ed9eff884a5d8d6d27f2.1631672311.git.kaige.fu@linux.alibaba.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/irqchip/irq-gic-v3-its.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c
    index cd58c123f547..b55dff1aa50b 100644
    --- a/drivers/irqchip/irq-gic-v3-its.c
    +++ b/drivers/irqchip/irq-gic-v3-its.c
    @@ -2996,7 +2996,7 @@ static int its_vpe_irq_domain_alloc(struct irq_domain *domain, unsigned int virq

    if (err) {
    if (i > 0)
    - its_vpe_irq_domain_free(domain, virq, i - 1);
    + its_vpe_irq_domain_free(domain, virq, i);

    its_lpi_free(bitmap, base, nr_ids);
    its_free_prop_table(vprop_page);
    --
    2.33.0


    \
     
     \ /
      Last update: 2021-10-04 15:09    [W:4.069 / U:0.168 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site