From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932378AbcBIRA2 (ORCPT ); Tue, 9 Feb 2016 12:00:28 -0500 Received: from quartz.orcorp.ca ([184.70.90.242]:49475 "EHLO quartz.orcorp.ca" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757055AbcBIRAW (ORCPT ); Tue, 9 Feb 2016 12:00:22 -0500 Date: Tue, 9 Feb 2016 10:00:11 -0700 From: Jason Gunthorpe To: Jarkko Sakkinen Cc: Peter Huewe , stable@vger.kernel.org, tpmdd-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org Subject: Re: [tpmdd-devel] [PATCH] tpm: fix the cleanup of struct tpm_chip Message-ID: <20160209170011.GC14611@obsidianresearch.com> References: <1454988630-27942-1-git-send-email-jarkko.sakkinen@linux.intel.com> <20160209052655.GA12657@obsidianresearch.com> <20160209061951.GA29607@intel.com> <20160209062735.GA25621@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160209062735.GA25621@intel.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Feb 09, 2016 at 08:27:35AM +0200, Jarkko Sakkinen wrote: > On Tue, Feb 09, 2016 at 08:19:51AM +0200, Jarkko Sakkinen wrote: > > On Mon, Feb 08, 2016 at 10:26:55PM -0700, Jason Gunthorpe wrote: > > > On Tue, Feb 09, 2016 at 05:30:30AM +0200, Jarkko Sakkinen wrote: > > > > If the initialization fails before tpm_chip_register(), put_device() > > > > will be not called, which causes release callback not to be called. > > > > This patch fixes the issue by adding put_device() to devres list of > > > > the parent device. > > > > > > Erm, if you do this, then shouldn't the device_unregister change to > > > device_del to keep the kref balanced? > > > > Yes, it should. Weird, I added pr_info() (temporarily) to > > tpm_dev_release() and did occur only once and no crashes whatsoever. It is hard to make use after free show up in testing, testing does not replace actually auditing these sorts of things. > > Anyway, you're right. > > Update: > > https://github.com/jsakkine/linux-tpmdd/commit/a1aa547bbd2178628df798c27abaad073acb2441 > > I tested that the release gets called (as a sanity check). Yeah, Reviewed-by: Jason Gunthorpe Jason