Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751526AbdCZPa4 (ORCPT ); Sun, 26 Mar 2017 11:30:56 -0400 Received: from mail-wr0-f179.google.com ([209.85.128.179]:35212 "EHLO mail-wr0-f179.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751410AbdCZPaz (ORCPT ); Sun, 26 Mar 2017 11:30:55 -0400 Date: Sun, 26 Mar 2017 23:23:54 +0800 From: Leo Yan To: Russell King - ARM Linux Cc: Dmitry Torokhov , Alessandro Zummo , Alexandre Belloni , Linus Walleij , Baptiste Reynal , Alex Williamson , Jaroslav Kysela , Takashi Iwai , linux-input@vger.kernel.org, linux-kernel@vger.kernel.org, rtc-linux@googlegroups.com, linux-arm-kernel@lists.infradead.org, kvm@vger.kernel.org, alsa-devel@alsa-project.org Subject: Re: [PATCH 1/5] Input: ambakmi - Convert to use devm_*() Message-ID: <20170326152354.GA11555@leoy-linaro> References: <1490539314-9681-1-git-send-email-leo.yan@linaro.org> <1490539314-9681-2-git-send-email-leo.yan@linaro.org> <20170326145023.GO7909@n2100.armlinux.org.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170326145023.GO7909@n2100.armlinux.org.uk> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 988 Lines: 27 On Sun, Mar 26, 2017 at 03:50:24PM +0100, Russell King - ARM Linux wrote: > On Sun, Mar 26, 2017 at 10:41:50PM +0800, Leo Yan wrote: > > Convert driver to use devm_*() APIs so rely on driver model core layer > > to manage resources. This eliminates error path boilerplate and makes > > code neat. > > > > This patch also fixes the memory leakage for 'kmi->io' when remove > > module. > > No, it is not leaked, in fact, your patch introduces a use-after-free > bug. > > kmi->io is of type "struct serio", and this structure has an embedded > "struct device". The lifetime of any structure containing a "struct > device" is controlled by the lifetime of the struct device. > > Once serio_register_port() has been called on it, it is up to the > serio layer to free this structure. > > Therefore, your patch creates a bug, and so it gets a NAK. There is no > resource leakage here. Thanks for reviewing. Now I understood and please ignore this patch and patch 0005. Thanks, Leo Yan