diff options
author | Johan Hovold <johan+linaro@kernel.org> | 2024-01-26 18:09:01 +0100 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.com> | 2024-01-26 18:52:14 +0100 |
commit | 00aab7dcb2267f2aef59447602f34501efe1a07f (patch) | |
tree | 5f4c7b959a9b6c8752dcbc69125aaba9d23ff571 /drivers | |
parent | HID: hidraw: fix a problem of memory leak in hidraw_release() (diff) | |
download | linux-00aab7dcb2267f2aef59447602f34501efe1a07f.tar.xz linux-00aab7dcb2267f2aef59447602f34501efe1a07f.zip |
HID: i2c-hid-of: fix NULL-deref on failed power up
A while back the I2C HID implementation was split in an ACPI and OF
part, but the new OF driver never initialises the client pointer which
is dereferenced on power-up failures.
Fixes: b33752c30023 ("HID: i2c-hid: Reorganize so ACPI and OF are separate modules")
Cc: stable@vger.kernel.org # 5.12
Cc: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/hid/i2c-hid/i2c-hid-of.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/hid/i2c-hid/i2c-hid-of.c b/drivers/hid/i2c-hid/i2c-hid-of.c index c4e1fa0273c8..8be4d576da77 100644 --- a/drivers/hid/i2c-hid/i2c-hid-of.c +++ b/drivers/hid/i2c-hid/i2c-hid-of.c @@ -87,6 +87,7 @@ static int i2c_hid_of_probe(struct i2c_client *client) if (!ihid_of) return -ENOMEM; + ihid_of->client = client; ihid_of->ops.power_up = i2c_hid_of_power_up; ihid_of->ops.power_down = i2c_hid_of_power_down; |