From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Tue, 9 Feb 2016 08:27:35 +0200 From: Jarkko Sakkinen To: Jason Gunthorpe 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: <20160209062735.GA25621@intel.com> References: <1454988630-27942-1-git-send-email-jarkko.sakkinen@linux.intel.com> <20160209052655.GA12657@obsidianresearch.com> <20160209061951.GA29607@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160209061951.GA29607@intel.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: 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. > > Anyway, you're right. Update: https://github.com/jsakkine/linux-tpmdd/commit/a1aa547bbd2178628df798c27abaad073acb2441 I tested that the release gets called (as a sanity check). Ack? /Jarkko