summaryrefslogtreecommitdiff
path: root/drivers/platform/x86/intel/vsec.c
diff options
context:
space:
mode:
authorChenyuan Yang <chenyuan0y@gmail.com>2025-01-11 21:09:51 +0300
committerIlpo Järvinen <ilpo.jarvinen@linux.intel.com>2025-01-14 19:30:33 +0300
commit59616a91e5e74833b2008b56c66879857c616006 (patch)
treee4bf0db2bee6c2dcfbd4788e1bcc3b31e8ff85dc /drivers/platform/x86/intel/vsec.c
parent1b2128aa2d45ab20b22548dcf4b48906298ca7fd (diff)
downloadlinux-59616a91e5e74833b2008b56c66879857c616006.tar.xz
platform/x86: lenovo-yoga-tab2-pro-1380-fastcharger: fix serdev race
The yt2_1380_fc_serdev_probe() function calls devm_serdev_device_open() before setting the client ops via serdev_device_set_client_ops(). This ordering can trigger a NULL pointer dereference in the serdev controller's receive_buf handler, as it assumes serdev->ops is valid when SERPORT_ACTIVE is set. This is similar to the issue fixed in commit 5e700b384ec1 ("platform/chrome: cros_ec_uart: properly fix race condition") where devm_serdev_device_open() was called before fully initializing the device. Fix the race by ensuring client ops are set before enabling the port via devm_serdev_device_open(). Note, serdev_device_set_baudrate() and serdev_device_set_flow_control() calls should be after the devm_serdev_device_open() call. Fixes: b2ed33e8d486 ("platform/x86: Add lenovo-yoga-tab2-pro-1380-fastcharger driver") Signed-off-by: Chenyuan Yang <chenyuan0y@gmail.com> Reviewed-by: Hans de Goede <hdegoede@redhat.com> Link: https://lore.kernel.org/r/20250111180951.2277757-1-chenyuan0y@gmail.com Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Diffstat (limited to 'drivers/platform/x86/intel/vsec.c')
0 files changed, 0 insertions, 0 deletions