From: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
To: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
"Jason Gunthorpe" <jgunthorpe@obsidianresearch.com>
Cc: gregkh@linuxfoundation.org, tpmdd-devel@lists.sourceforge.net,
linux-kernel@vger.kernel.org
Subject: Re: [tpmdd-devel] [PATCH] base/platform: fix panic when probe function is NULL
Date: Mon, 30 Nov 2015 15:06:50 +0200 [thread overview]
Message-ID: <20151130130650.GA16875@intel.com> (raw)
In-Reply-To: <20151130125631.GD15542@intel.com>
On Mon, Nov 30, 2015 at 02:56:31PM +0200, Jarkko Sakkinen wrote:
> Hi Uwe,
>
> On Sun, Nov 29, 2015 at 10:54:11AM +0100, Uwe Kleine-König wrote:
> > Hello Jarkko,
> >
> > On Sat, Nov 28, 2015 at 06:34:47PM +0200, Jarkko Sakkinen wrote:
> > > On Thu, Nov 26, 2015 at 08:01:34PM +0100, martin.wilck@ts.fujitsu.com wrote:
> > > > From: Martin Wilck <Martin.Wilck@ts.fujitsu.com>
> > > >
> > > > Since b8b2c7d845d5, platform_drv_probe() is called for all platform
> > > > devices. If drv->probe is NULL, and dev_pm_domain_attach() fails,
> > > > platform_drv_probe() will return the error code from dev_pm_domain_attach().
> > > >
> > > > This causes real_probe() to enter the "probe_failed" path and set
> > > > dev->driver to NULL. Before b8b2c7d845d5, real_probe() would assume
> > > > success if both dev->bus->probe and drv->probe are missing.
> > > >
> > > > This may cause a panic later. For example, inserting the tpm_tis
> > > > driver with parameter "force=1" (i.e. registering tpm_tis as a platform
> > > > driver) will panic in tpmm_chip_alloc() because dev->driver is NULL:
> > > >
> > > > chip->cdev.owner = chip->pdev->driver->owner;
> > > >
> > > > This patch fixes this by returning success in platform_drv_probe() if
> > > > "just" dev_pm_domain_attach() had failed. This restores the semantics
> > > > of platform_device_register_XXX() if the associated platform driver has
> > > > no "probe" function.
> > > >
> > > > Fixes: b8b2c7d845d5 ("base/platform: assert that dev_pm_domain
> > > > callbacks are called unconditionally")
> > > >
> > > > Signed-off-by: Martin Wilck <Martin.Wilck@ts.fujitsu.com>
> > >
> > > Acked-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
> >
> > While the patch is fine, the commit log is not. It blames b8b2c7d845d5
> > to be responsible for a panic, but in fact it only breaks the wrong
> > assumption of the tpm_tis driver.
> >
> > So I'm not sure how to interpret your Ack, IMHO it should not make
> > gregkh pick up the patch as is.
>
> Alright. I don't think you can speak about *wrong assumptions* if the
> semantics allowed not to have it before. *Where* it should be fixed is
> another question. I'd keep the Fixes tag in all cases.
>
> Jason, you had the fix for this issue directly to tpm_tis driver that
> you haven't yet posted, right? Just double-checking this.
Uwe, please ignore this :) Saw your more in-depth comment about platform
driver creation. Thank you. I somehow have missed it before.
/Jarkko
prev parent reply other threads:[~2015-11-30 13:07 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-26 19:01 [PATCH] base/platform: fix panic when probe function is NULL martin.wilck
2015-11-26 20:30 ` [tpmdd-devel] " Jason Gunthorpe
2015-11-27 7:32 ` Wilck, Martin
2015-11-28 16:40 ` Jarkko Sakkinen
2015-11-28 16:49 ` Jarkko Sakkinen
2015-11-28 22:52 ` Jason Gunthorpe
2015-11-30 12:50 ` Jarkko Sakkinen
2015-11-27 10:11 ` Uwe Kleine-König
2015-11-30 7:42 ` Wilck, Martin
2015-11-30 11:50 ` [PATCH v2] base/platform: return success " martin.wilck
2015-12-01 20:30 ` Uwe Kleine-König
2015-12-01 10:41 ` [PATCH] base/platform: fix panic " Wilck, Martin
2015-12-01 13:24 ` Uwe Kleine-König
2015-12-01 15:19 ` Wilck, Martin
2015-12-01 17:25 ` [tpmdd-devel] " Jason Gunthorpe
2015-12-01 18:26 ` Peter Huewe
2015-12-01 18:40 ` Jason Gunthorpe
2015-12-01 18:54 ` Aw: " Peter Huewe
2015-12-01 19:03 ` Jason Gunthorpe
2015-11-28 16:34 ` Jarkko Sakkinen
2015-11-29 9:54 ` Uwe Kleine-König
2015-11-30 12:56 ` Jarkko Sakkinen
2015-11-30 13:06 ` Jarkko Sakkinen [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20151130130650.GA16875@intel.com \
--to=jarkko.sakkinen@linux.intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=jgunthorpe@obsidianresearch.com \
--cc=linux-kernel@vger.kernel.org \
--cc=tpmdd-devel@lists.sourceforge.net \
--cc=u.kleine-koenig@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.