Received: by 2002:a25:31c3:0:0:0:0:0 with SMTP id x186csp2651881ybx; Fri, 8 Nov 2019 07:25:56 -0800 (PST) X-Google-Smtp-Source: APXvYqzsuEXqv8DHjj9PjTq9EvjOGEMFvvVHafGC8HadjxJoJYXqkP1DSnVhh18OE/jtZncnwvol X-Received: by 2002:a17:906:ecf5:: with SMTP id qt21mr9070685ejb.295.1573226756655; Fri, 08 Nov 2019 07:25:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1573226756; cv=none; d=google.com; s=arc-20160816; b=yJ8T47j78WVr3L6rLbyYeDCn+Lk2KyTH6JH82Crxm0f3jlF13WIyqvpVJwG1k6c2ze FyaHSd6hqvXun4Swj7PySJcaYdXqBg7xo/JNb0TP1oIQLD2iqBQVTVWkbJn5Zb4jYMcu ysgduzjLoNne36VbzmPQCjm7eZr157uhQXhrFiMkQf/VRgduE7Mtrafmh22H+sD2ugsq jzKcZRgss5r6nY4cpjiHCHSydYmvJSPYvklSFMrHJYMCsEGeSYBx7d/usc5t9g9wG/Ry CDm4rCGR2XJF7pLifiWsnXtIuneKGrNiOT6aD9dpTsCMXYPYjh3CL6dN0Qi6TXN4JDoC U9lA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:message-id:references :in-reply-to:cc:from:date:content-transfer-encoding:mime-version :subject:to; bh=c8zbUnO+dN40FXR3RC8IJJgzCgJeLMYiddKq8KCwonk=; b=ip4lYjFEv2I/Qcv1DI1muRX6wqB3foRS1M16vekcNPm26SFAuDLuqxcTHKg/ZCX7qX 3ENOMNhOfOtyxnvVB+Ogtm52geHXdNTV8gF6FdoJHyguxfHloe6YI2HU0FE8DjJjw10T cHjwLbQMeJvQ+ZQGjeUE+CcIqSM4kcknru997Dx8OJjy3SCj8VK1+Sw9pKka6osmjOuW HbYcV1rILFoqY5hbF7hdkkjmK/hItGXI55JE9j7kQb1av+8HIVF86roPGhEY17VA/Xi5 4sdbng2gALKRV3D56FkNvla1KsVAjFbXRnZ9sqjNDuiaw8k1VmNJ+HRKuUvdaB7uCrWn pi7A== 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 m16si3798180ejc.383.2019.11.08.07.25.31; Fri, 08 Nov 2019 07:25:56 -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 S1726438AbfKHPY7 (ORCPT + 99 others); Fri, 8 Nov 2019 10:24:59 -0500 Received: from inca-roads.misterjones.org ([213.251.177.50]:46493 "EHLO inca-roads.misterjones.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726199AbfKHPY6 (ORCPT ); Fri, 8 Nov 2019 10:24:58 -0500 Received: from www-data by cheepnis.misterjones.org with local (Exim 4.80) (envelope-from ) id 1iT687-0001XH-4B; Fri, 08 Nov 2019 16:24:55 +0100 To: Zenghui Yu Subject: Re: [PATCH 01/11] irqchip/gic-v3-its: Free collection mapping on device teardown X-PHP-Originating-Script: 0:main.inc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Date: Fri, 08 Nov 2019 16:34:15 +0109 From: Marc Zyngier Cc: , Thomas Gleixner , Jason Cooper , , , Heyi Guo In-Reply-To: <5c3034c6-7593-64c0-0cbe-43dc6a184bbb@huawei.com> References: <20191105162258.22214-1-maz@kernel.org> <20191105162258.22214-2-maz@kernel.org> <5c3034c6-7593-64c0-0cbe-43dc6a184bbb@huawei.com> Message-ID: X-Sender: maz@kernel.org User-Agent: Roundcube Webmail/0.7.2 X-SA-Exim-Connect-IP: X-SA-Exim-Rcpt-To: yuzenghui@huawei.com, linux-kernel@vger.kernel.org, tglx@linutronix.de, jason@lakedaemon.net, lorenzo.pieralisi@arm.com, andrew.murray@arm.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 Hi Zenghui, On 2019-11-08 14:09, Zenghui Yu wrote: > Hi Marc, > > On 2019/11/6 0:22, Marc Zyngier wrote: >> Somehow, we forgot to free the collection mapping when tearing down >> a device, hence slowly leaking mapping arrays as devices get removed >> from the system. That is, almost never. >> Just to be safe, properly free the array on device teardown. >> Signed-off-by: Marc Zyngier >> --- >> drivers/irqchip/irq-gic-v3-its.c | 1 + >> 1 file changed, 1 insertion(+) >> diff --git a/drivers/irqchip/irq-gic-v3-its.c >> b/drivers/irqchip/irq-gic-v3-its.c >> index 787e8eec9a7f..07d0bde60e16 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); > > I agreed that this is the appropriate place to free the collection > mapping (act as the counterpart of the allocation which happened in > its_create_device). But as pointed out by Heyi [1], this will > introduce a double free issue. We'd better also drop the kfree() > in its_irq_domain_free() in this patch? > > (I find that it had been dropped in the last patch in your > irq/gic-5.5-wip branch, but maybe better here.) Ah, that hunk is in a separate patch that I wasn't really planning to send for this round. Let me fix the series (again) and resend it... Thanks for the heads up, M. -- Jazz is not dead. It just smells funny...