Patch "irqchip/gic-v3-its: Fix potential VPE leak on error" has been added to the 5.14-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    irqchip/gic-v3-its: Fix potential VPE leak on error

to the 5.14-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     irqchip-gic-v3-its-fix-potential-vpe-leak-on-error.patch
and it can be found in the queue-5.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 5fc9f315bcbfb0e5fb31ae3e20148073c4d4ed0b
Author: Kaige Fu <kaige.fu@xxxxxxxxxxxxxxxxx>
Date:   Wed Sep 15 10:20:55 2021 +0800

    irqchip/gic-v3-its: Fix potential VPE leak on error
    
    [ 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@xxxxxxxxxxxxxxxxx>
    [maz: fixed commit message]
    Signed-off-by: Marc Zyngier <maz@xxxxxxxxxx>
    Link: https://lore.kernel.org/r/d9e36dee512e63670287ed9eff884a5d8d6d27f2.1631672311.git.kaige.fu@xxxxxxxxxxxxxxxxx
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c
index ba39668c3e08..51584f4cccf4 100644
--- a/drivers/irqchip/irq-gic-v3-its.c
+++ b/drivers/irqchip/irq-gic-v3-its.c
@@ -4501,7 +4501,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);



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux