Received: by 2002:a25:31c3:0:0:0:0:0 with SMTP id x186csp2762766ybx; Fri, 8 Nov 2019 09:00:41 -0800 (PST) X-Google-Smtp-Source: APXvYqw3yNruh/vqxKJJlRqbkm7mrMwCuDQVFxdu0IVdwHq6PijsUE9yHc8aWElnf7Fs5RnWyDqq X-Received: by 2002:a17:906:6d84:: with SMTP id h4mr9910330ejt.262.1573232441742; Fri, 08 Nov 2019 09:00:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1573232441; cv=none; d=google.com; s=arc-20160816; b=O0RCIDG4+FGjsFuF6bZDkJCUTrZDY5mLpfJmkdMHh5laxg2mb8JEjVBIBgNV7FuzEY ANQzTK41PU42XMUP9t47D7Cjy/JxRx3MOiIiQgiMFGiLVAfSq5QNFxtF5lNoq+C5w4rw FSBNqqAJd/RCVwYNe8PdJNtn1RTVERd6426+XwrfP4A8kzETrpe83iGbPKFtTunX+hEw hWQo3mvWnL65+Fb5yzxrefwMgKbu7Vbj860GQ53ynhs6vua0jEGXBXhWCqVQj8W44CY5 xoIasGsJsSq+H++J091X4Wbr8ylk8U9BHtViDWJb72sLJ1VMZTxK4cbo8S9FUOTP95nG mXyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=6YBkjAjIwpuRP1VkjB9PhtQlpBus946VrS5GkogVAsg=; b=OxIMNlw/4vwojV5/ckR9GJFpS4q0/4Fh1ZY/8gXbO+z2I7FUHxGF2zKyQTQdRCWyLd QpI0kQxvfz6anLvmFS8v9ZxxlQazkxBeNZQzj9gwcIZdGoZsFwsYfzsRwAlST/n3mG4d dWHd3lYEsIXlu9QnJEpw+3jPWlUT/BSK+q6oH8QepuIuLNKNPnURc7onz/bGh7J113Sg 1zBkibX5udwZdvJHbE//oEXVRFKRahI9MRn7rfTRCQdtsBohZpAjw+Vr6Eg1Ep4ojfvx EsV6en3a0mXCQg6hatnrNo/TPrMqijcK+45YabHkXkrF2iFmE7IcqhCqifGfgsyfnAXw 4Ehg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v9si5061759edl.90.2019.11.08.09.00.18; Fri, 08 Nov 2019 09:00:41 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726587AbfKHQ6L (ORCPT + 99 others); Fri, 8 Nov 2019 11:58:11 -0500 Received: from inca-roads.misterjones.org ([213.251.177.50]:37744 "EHLO inca-roads.misterjones.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726101AbfKHQ6L (ORCPT ); Fri, 8 Nov 2019 11:58:11 -0500 Received: from 78.163-31-62.static.virginmediabusiness.co.uk ([62.31.163.78] helo=why.lan) by cheepnis.misterjones.org with esmtpsa (TLSv1.2:DHE-RSA-AES128-GCM-SHA256:128) (Exim 4.80) (envelope-from ) id 1iT7aM-0002sR-6H; Fri, 08 Nov 2019 17:58:10 +0100 From: Marc Zyngier To: linux-kernel@vger.kernel.org Cc: Thomas Gleixner , Jason Cooper , lorenzo.pieralisi@arm.com, Andrew.Murray@arm.com, yuzenghui@huawei.com, Heyi Guo Subject: [PATCH v2 01/11] irqchip/gic-v3-its: Free collection mapping on device teardown Date: Fri, 8 Nov 2019 16:57:55 +0000 Message-Id: <20191108165805.3071-2-maz@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191108165805.3071-1-maz@kernel.org> References: <20191108165805.3071-1-maz@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SA-Exim-Connect-IP: 62.31.163.78 X-SA-Exim-Rcpt-To: linux-kernel@vger.kernel.org, tglx@linutronix.de, jason@lakedaemon.net, lorenzo.pieralisi@arm.com, Andrew.Murray@arm.com, yuzenghui@huawei.com, guoheyi@huawei.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on cheepnis.misterjones.org); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org We allocate the collection mapping on device creation, but somehow free it on the irqdomain free path, which is pretty inconsistent and has led to bugs in the past. Move it to the point where we teardown the device, making the alloc/free symetric. Signed-off-by: Marc Zyngier --- 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 787e8eec9a7f..cc6aea602a7a 100644 --- a/drivers/irqchip/irq-gic-v3-its.c +++ b/drivers/irqchip/irq-gic-v3-its.c @@ -2471,6 +2471,7 @@ static void its_free_device(struct its_device *its_dev) raw_spin_lock_irqsave(&its_dev->its->lock, flags); list_del(&its_dev->entry); raw_spin_unlock_irqrestore(&its_dev->its->lock, flags); + kfree(its_dev->event_map.col_map); kfree(its_dev->itt); kfree(its_dev); } @@ -2679,7 +2680,6 @@ static void its_irq_domain_free(struct irq_domain *domain, unsigned int virq, its_lpi_free(its_dev->event_map.lpi_map, its_dev->event_map.lpi_base, its_dev->event_map.nr_lpis); - kfree(its_dev->event_map.col_map); /* Unmap device/itt */ its_send_mapd(its_dev, 0); -- 2.20.1