On 4 September 2018 at 14:54, Johan Hovold johan@kernel.org wrote:
On Mon, Aug 27, 2018 at 04:44:44PM +0200, Ulf Hansson wrote:
On 27 August 2018 at 10:21, Johan Hovold johan@kernel.org wrote:
Use the new of_get_compatible_child() helper to lookup the slot child node instead of using of_find_compatible_node(), which searches the entire tree from a given start node and thus can return an unrelated (i.e. non-child) node.
This also addresses a potential use-after-free (e.g. after probe deferral) as the tree-wide helper drops a reference to its first argument (i.e. the node of the device being probed).
While at it, also fix up the related slot-node reference leak.
Fixes: ed80a13bb4c4 ("mmc: meson-mx-sdio: Add a driver for the Amlogic Meson8 and Meson8b SoCs") Cc: stable stable@vger.kernel.org # 4.15 Cc: Carlo Caione carlo@endlessm.com Cc: Martin Blumenstingl martin.blumenstingl@googlemail.com Cc: Ulf Hansson ulf.hansson@linaro.org Acked-by: Martin Blumenstingl martin.blumenstingl@googlemail.com Signed-off-by: Johan Hovold johan@kernel.org
Acked-by: Ulf Hansson ulf.hansson@linaro.org
Thanks for the ack. Rob's gotten the helper into -rc2, so feel free to pick this one up directly to whichever mmc branch you prefer. I've been able to trigger crashes after probe deferrals due to the use-after-free, but this seems unlikely to be exploitable.
Applied for fixes, thanks!
Kind regards Uffe