linux/drivers/platform/chrome
Patryk Duda b6fc20e9bd platform/chrome: cros_ec_proto: Lock device when updating MKBP version
commit df615907f1 upstream.

The cros_ec_get_host_command_version_mask() function requires that the
caller must have ec_dev->lock mutex before calling it. This requirement
was not met and as a result it was possible that two commands were sent
to the device at the same time.

The problem was observed while using UART backend which doesn't use any
additional locks, unlike SPI backend which locks the controller until
response is received.

Fixes: f74c7557ed ("platform/chrome: cros_ec_proto: Update version on GET_NEXT_EVENT failure")
Cc: stable@vger.kernel.org
Signed-off-by: Patryk Duda <patrykd@google.com>
Link: https://lore.kernel.org/r/20240730104425.607083-1-patrykd@google.com
Signed-off-by: Tzung-Bi Shih <tzungbi@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2024-08-19 05:45:33 +02:00
..
wilco_ec platform/chrome: wilco_ec: convert stream-like files from nonseekable_open -> stream_open 2021-03-30 18:25:22 +02:00
chromeos_laptop.c platform/chrome: fix double-free in chromeos_laptop_prepare() 2022-10-26 12:34:52 +02:00
chromeos_pstore.c chrome platform changes for 5.8 2020-06-04 10:54:45 -07:00
chromeos_tbmc.c platform/chrome: chromeos_tbmc: Report wake events 2019-09-12 16:01:35 +02:00
cros_ec.c platform/chrome: cros_ec: Notify the PM of wake events during resume 2022-10-26 12:35:40 +02:00
cros_ec.h platform/chrome: cros_ec: Call interrupt bottom half in ISH or RPMSG mode 2021-01-22 08:50:27 +01:00
cros_ec_chardev.c platform/chrome: cros_ec_chardev: fix kernel data leak from ioctl 2023-03-30 12:47:50 +02:00
cros_ec_debugfs.c platform/chrome: cros_ec_debugfs: fix wrong EC message version 2024-08-19 05:44:49 +02:00
cros_ec_i2c.c platform/chrome: cros_ec_i2c: Appease the kernel-doc deity 2020-05-04 14:01:45 -07:00
cros_ec_ishtp.c HID: intel-ish-hid: Make remove callback return void 2021-03-08 17:16:03 +01:00
cros_ec_lightbar.c platform/chrome: Constify static attribute_group structs 2021-01-20 16:19:17 +01:00
cros_ec_lpc.c platform/chrome: cros_ec: Match implementation with headers 2020-02-03 17:14:50 +01:00
cros_ec_lpc_mec.c platform/chrome: cros_ec_lpc: Use DEFINE_MUTEX() for mutex lock 2021-04-21 10:00:30 +02:00
cros_ec_lpc_mec.h platform/chrome: cros_ec: Remove cros_ec dependency in lpc_mec 2019-02-11 10:07:40 +01:00
cros_ec_proto.c platform/chrome: cros_ec_proto: Lock device when updating MKBP version 2024-08-19 05:45:33 +02:00
cros_ec_rpmsg.c platform/chrome: cros_ec: Call interrupt bottom half in ISH or RPMSG mode 2021-01-22 08:50:27 +01:00
cros_ec_sensorhub.c platform/chrome: cros_ec_sensorhub: Allocate sensorhub resource before claiming sensors 2020-04-29 23:17:45 +02:00
cros_ec_sensorhub_ring.c platform: chrome: Split trace include file 2022-04-08 14:24:07 +02:00
cros_ec_sensorhub_trace.h platform: chrome: Split trace include file 2022-04-08 14:24:07 +02:00
cros_ec_spi.c platform/chrome: cros_ec_spi: Drop bits_per_word assignment 2020-12-09 16:52:09 +00:00
cros_ec_sysfs.c platform/chrome: cros_ec_sysfs: Add cold-ap-off to sysfs reboot. 2021-01-20 16:19:17 +01:00
cros_ec_trace.c platform/chrome: cros_ec: Add command for regulator control. 2020-06-15 22:40:14 +01:00
cros_ec_trace.h platform: chrome: Split trace include file 2022-04-08 14:24:07 +02:00
cros_ec_typec.c platform/chrome: cros_ec_typec: zero out stale pointers 2022-12-31 13:14:05 +01:00
cros_ec_vbc.c platform/chrome: Constify static attribute_group structs 2021-01-20 16:19:17 +01:00
cros_kbd_led_backlight.c platform/chrome: cros_kbd_led_backlight: switch to SPDX identifier 2019-02-01 10:13:06 +01:00
cros_usbpd_logger.c platform/chrome: cros_usbpd_logger: Add __printf annotation to append_str() 2020-05-04 14:02:01 -07:00
cros_usbpd_notify.c platform/chrome: cros_usbpd_notify: Fix error handling in cros_usbpd_notify_init() 2022-12-31 13:14:02 +01:00
Kconfig platform/chrome: Kconfig: Remove the transitional MFD_CROS_EC config 2020-09-04 09:30:04 +02:00
Makefile platform: chrome: Split trace include file 2022-04-08 14:24:07 +02:00