Re: [PATCH 3.16 43/72] thermal: Fix use-after-free when unregistering thermal zone device

From: Ben Hutchings
Date: Sun Dec 08 2019 - 13:09:47 EST


On Sun, 2019-12-08 at 16:22 +0000, Ido Schimmel wrote:
> On Sun, Dec 08, 2019 at 01:53:27PM +0000, Ben Hutchings wrote:
> > 3.16.79-rc1 review patch. If anyone has any objections, please let me know.
> >
> > ------------------
> >
> > From: Ido Schimmel <idosch@xxxxxxxxxxxx>
> >
> > commit 1851799e1d2978f68eea5d9dff322e121dcf59c1 upstream.
> >
> > thermal_zone_device_unregister() cancels the delayed work that polls the
> > thermal zone, but it does not wait for it to finish. This is racy with
> > respect to the freeing of the thermal zone device, which can result in a
> > use-after-free [1].
> >
> > Fix this by waiting for the delayed work to finish before freeing the
> > thermal zone device. Note that thermal_zone_device_set_polling() is
> > never invoked from an atomic context, so it is safe to call
> > cancel_delayed_work_sync() that can block.
>
> Ben,
>
> Wei Wang (copied) found a problem with this patch and fixed it:
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=163b00cde7cf2206e248789d2780121ad5e6a70b
>
> I believe you should take both patches to your tree.

Thanks, I will add that now that it is in Linus's tree.

Ben.

--
Ben Hutchings
Never attribute to conspiracy what can adequately be explained
by stupidity.


Attachment: signature.asc
Description: This is a digitally signed message part