Received: by 2002:a05:6500:1b45:b0:1f5:f2ab:c469 with SMTP id cz5csp1099891lqb; Wed, 17 Apr 2024 23:11:21 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCWSgBtWBzFqf8wzR1xBSKwi7VJQMo4kCmDUjbCHyrMzwQ4SPrJQ/0BJ73rWCCsvcf+eH2iPWrE8mjjefOizjNg4y/4AiBW2PImCjnAdsg== X-Google-Smtp-Source: AGHT+IGB8p6yKVpfaCQzC7K/mkQRrmQADIwE4JiVxmQGKACerswvkwW7agTbOu/rIBf+e8snV3dA X-Received: by 2002:a05:622a:1183:b0:437:a0fb:cffe with SMTP id m3-20020a05622a118300b00437a0fbcffemr895205qtk.30.1713420681380; Wed, 17 Apr 2024 23:11:21 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1713420681; cv=pass; d=google.com; s=arc-20160816; b=cT+w+u2f8OlIvPmGz2XIoyIe+uv6NBVCORqwTCx8hS4ruRCaoSiQ1x6ogRQOE3gIFW q4fAuWSDX62tv0XKgD8bBcJyW2YgAGHRIa58yICVX5fA5+jufzo+gZphTHSLduLYS0US ibc3r2cNKK0ebFyirOU9BILUC6PSWBIdG1PboY003h4k6mwUVznw1hraT8cayLSVT4s0 mcMxNQ35SCtPo90V0/DqsoHW/rKnC9GNPhEMWfV1OywhyfV/dv6UiyLCJeQD4VEG4HXM fusCuGdfgb7vA8vhPRuys7CQ6nlu1v4ydXVe+WgRxS2MpXxPX/zUKsyfCLBNk5qrdEPC QsQw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=j5xhT/xn+HoEPFQEH51jOs/5tUc6xggDrAbLHMmno6Y=; fh=lhJ9XTtNdYxIwFFrX3lwhmiyaLx2N77JYdfK8hYUSyw=; b=NBNidljyCvJ2Wg4cOVbvPU9MXjTD6a8UxnGy/Z60F6HrarE8MsyglaW56NX0pbRYoC zbfANmkY6XYsF2UnoNC9x/3HjhqAZGyeQCqSfje3j64LygJhA/vm57M0ZHsBabUZse9F uv9oWmRu8zJZ93IGE+cxUnmMg7QZ6/jI7tvVxxQGUHhE+98sszmYpmGuAV7sP36lHwgL I0hyncatI3OXK5Bxqsz2Taj7fZZEZUEHlRjnLr6iDdMxwmMYOKqlYWlodtmDR4Caq/0z O7D8MDeX8Uhfkxojnpi93mj/cb6yyp0oG/S//y32SfWn5XipHscJExTZZNRsatZHVcno gNkA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linux.alibaba.com header.s=default header.b=lvf9mHGB; arc=pass (i=1 spf=pass spfdomain=linux.alibaba.com dkim=pass dkdomain=linux.alibaba.com dmarc=pass fromdomain=linux.alibaba.com); spf=pass (google.com: domain of linux-kernel+bounces-149553-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-149553-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.alibaba.com Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [147.75.199.223]) by mx.google.com with ESMTPS id z4-20020a05622a028400b004313784e941si803816qtw.437.2024.04.17.23.11.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 Apr 2024 23:11:21 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-149553-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) client-ip=147.75.199.223; Authentication-Results: mx.google.com; dkim=pass header.i=@linux.alibaba.com header.s=default header.b=lvf9mHGB; arc=pass (i=1 spf=pass spfdomain=linux.alibaba.com dkim=pass dkdomain=linux.alibaba.com dmarc=pass fromdomain=linux.alibaba.com); spf=pass (google.com: domain of linux-kernel+bounces-149553-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-149553-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.alibaba.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 019A41C209F1 for ; Thu, 18 Apr 2024 06:11:21 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 1B7516BFA7; Thu, 18 Apr 2024 06:11:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.alibaba.com header.i=@linux.alibaba.com header.b="lvf9mHGB" Received: from out30-113.freemail.mail.aliyun.com (out30-113.freemail.mail.aliyun.com [115.124.30.113]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0523E3399B for ; Thu, 18 Apr 2024 06:11:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=115.124.30.113 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713420670; cv=none; b=VNanwkzrjKOHYTzWyQO/+b1eJS18GcFgbA7sTFaaRNK7GLT4i9zwiSs25UaRM6NN9UoCFdLWYYcPCdEwWm1zDgPGnNOukGY2XmPqdzSAREmzFLRhC2IgnZerUq3BF+7jB2wsPJdJaaprI0vPT8Bd43/cOxwhYooe1dhZccyzzTM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713420670; c=relaxed/simple; bh=9AIO2yFVH27qbIsLPRxjt7VAjn7rXGEkOnY2v3eJ17o=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=htHueqwKlVR93ukGs4SMgYAZQn0fPTDnwU1YYx63IZ+BYn1Pi34nzqlhXrc57oCydVvCtWtrpRhtPmZ2EwfgNy8KXdvt+l8z9Omvv69T8PXGlw3PkAn4Jax5Dg+EnMG3Lay3+8NfI6MtR1cdv9zIFu4AkIpxYjqSVr4DS4vk+eg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.alibaba.com; spf=pass smtp.mailfrom=linux.alibaba.com; dkim=pass (1024-bit key) header.d=linux.alibaba.com header.i=@linux.alibaba.com header.b=lvf9mHGB; arc=none smtp.client-ip=115.124.30.113 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.alibaba.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.alibaba.com DKIM-Signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.alibaba.com; s=default; t=1713420665; h=From:To:Subject:Date:Message-Id:MIME-Version; bh=j5xhT/xn+HoEPFQEH51jOs/5tUc6xggDrAbLHMmno6Y=; b=lvf9mHGBzKKwIlkHJboK1N1o6Mn6G+sT94VWxPNSeARreiT8bB5Vxm/QWhxzPiybfLTTHOjeLv2ym5TcpSyIbwTDHNZCxFp1s1Zhjaad+Wkr5Kt/N12zHNcnOFvxHhC4hNKqFTgkY1nBlZlKY/AfG2gMWP3gOa7YuMhfirT1aRk= X-Alimail-AntiSpam:AC=PASS;BC=-1|-1;BR=01201311R681e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018046060;MF=guanrui.huang@linux.alibaba.com;NM=1;PH=DS;RN=8;SR=0;TI=SMTPD_---0W4nc51F_1713420663; Received: from localhost(mailfrom:guanrui.huang@linux.alibaba.com fp:SMTPD_---0W4nc51F_1713420663) by smtp.aliyun-inc.com; Thu, 18 Apr 2024 14:11:04 +0800 From: Guanrui Huang To: maz@kernel.org Cc: Markus.Elfring@web.de, yuzenghui@huawei.com, shannon.zhao@linux.alibaba.com, tglx@linutronix.de, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Guanrui Huang Subject: [PATCH v5 1/2] irqchip/gic-v3-its: Fix double free on error Date: Thu, 18 Apr 2024 14:10:52 +0800 Message-Id: <20240418061053.96803-2-guanrui.huang@linux.alibaba.com> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20240418061053.96803-1-guanrui.huang@linux.alibaba.com> References: <20240418061053.96803-1-guanrui.huang@linux.alibaba.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit In its_vpe_irq_domain_alloc, when its_vpe_init() returns an error with i > 0, its_vpe_irq_domain_free may free bitmap and vprop_page, and then there is a double free in its_vpe_irq_domain_alloc. Fix it by calling its_vpe_irq_domain_free directly, bitmap and vprop_page will be freed in this function. Fixes: 7d75bbb4bc1a ("irqchip/gic-v3-its: Add VPE irq domain allocation/teardown") Reviewed-by: Marc Zyngier Reviewed-by: Zenghui Yu Signed-off-by: Guanrui Huang --- drivers/irqchip/irq-gic-v3-its.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c index fca888b36680..2305f6b524a9 100644 --- a/drivers/irqchip/irq-gic-v3-its.c +++ b/drivers/irqchip/irq-gic-v3-its.c @@ -4561,13 +4561,8 @@ static int its_vpe_irq_domain_alloc(struct irq_domain *domain, unsigned int virq irqd_set_resend_when_in_progress(irq_get_irq_data(virq + i)); } - if (err) { - if (i > 0) - its_vpe_irq_domain_free(domain, virq, i); - - its_lpi_free(bitmap, base, nr_ids); - its_free_prop_table(vprop_page); - } + if (err) + its_vpe_irq_domain_free(domain, virq, i); return err; } -- 2.36.1