[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <nycvar.YFH.7.76.2411071358210.20286@cbobk.fhfr.pm>
Date: Thu, 7 Nov 2024 13:59:04 +0100 (CET)
From: Jiri Kosina <jikos@...nel.org>
To: Heiko Stuebner <heiko@...ech.de>
cc: lee@...nel.org, jic23@...nel.org, robh@...nel.org, krzk+dt@...nel.org,
conor+dt@...nel.org, jdelvare@...e.com, linux@...ck-us.net,
srinivas.pandruvada@...ux.intel.com, bentiss@...nel.org,
dmitry.torokhov@...il.com, pavel@....cz, ukleinek@...ian.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-hwmon@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-rockchip@...ts.infradead.org, linux-input@...r.kernel.org,
linux-iio@...r.kernel.org, linux-leds@...r.kernel.org,
stable@...r.kernel.org
Subject: Re: [PATCH v9 1/9] HID: hid-sensor-hub: don't use stale platform-data
on remove
On Thu, 7 Nov 2024, Heiko Stuebner wrote:
> The hid-sensor-hub creates the individual device structs and transfers them
> to the created mfd platform-devices via the platform_data in the mfd_cell.
>
> Before e651a1da442a ("HID: hid-sensor-hub: Allow parallel synchronous reads")
> the sensor-hub was managing access centrally, with one "completion" in the
> hub's data structure, which needed to be finished on removal at the latest.
>
> The mentioned commit then moved this central management to each hid sensor
> device, resulting on a completion in each struct hid_sensor_hub_device.
> The remove procedure was adapted to go through all sensor devices and
> finish any pending "completion".
>
> What this didn't take into account was, platform_device_add_data() that is
> used by mfd_add{_hotplug}_devices() does a kmemdup on the submitted
> platform-data. So the data the platform-device gets is a copy of the
> original data, meaning that the device worked on a different completion
> than what sensor_hub_remove() currently wants to access.
>
> To fix that, use device_for_each_child() to go through each child-device
> similar to how mfd_remove_devices() unregisters the devices later and
> with that get the live platform_data to finalize the correct completion.
>
> Fixes: e651a1da442a ("HID: hid-sensor-hub: Allow parallel synchronous reads")
> Cc: stable@...r.kernel.org
> Acked-by: Benjamin Tissoires <bentiss@...nel.org>
> Acked-by: Srinivas Pandruvada <srinivas.pandruvada@...ux.intel.com>
Acked-by: Jiri Kosina <jkosina@...e.com>
Are you planning to merge this together with the rest of the set, or do
you want me to expedite it? I'll be happy to apply it separately as a
proper fix.
Thanks,
--
Jiri Kosina
SUSE Labs
Powered by blists - more mailing lists