[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20191208162216.GA330015@splinter>
Date: Sun, 8 Dec 2019 16:22:18 +0000
From: Ido Schimmel <idosch@...lanox.com>
To: Ben Hutchings <ben@...adent.org.uk>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"stable@...r.kernel.org" <stable@...r.kernel.org>,
"akpm@...ux-foundation.org" <akpm@...ux-foundation.org>,
Denis Kirjanov <kda@...ux-powerpc.org>,
Jiri Pirko <jiri@...lanox.com>,
Zhang Rui <rui.zhang@...el.com>,
"wvw@...gle.com" <wvw@...gle.com>
Subject: Re: [PATCH 3.16 43/72] thermal: Fix use-after-free when unregistering
thermal zone device
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@...lanox.com>
>
> 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
Powered by blists - more mailing lists