summaryrefslogtreecommitdiff
path: root/include/linux/overflow.h
diff options
context:
space:
mode:
authorChenyuan Yang <chenyuan0y@gmail.com>2025-01-11 12:18:03 -0600
committerKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>2025-02-03 12:52:49 +0100
commit0dd6770a72f138dabea9eae87f3da6ffa68f0d06 (patch)
treebfdbae398144b7a580400dcb9cd3117aa3d6960f /include/linux/overflow.h
parent2014c95afecee3e76ca4a56956a936e23283f05b (diff)
w1: fix NULL pointer dereference in probe
The w1_uart_probe() function calls w1_uart_serdev_open() (which includes 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 w1_uart_serdev_open(). Fixes: a3c08804364e ("w1: add UART w1 bus driver") Signed-off-by: Chenyuan Yang <chenyuan0y@gmail.com> Acked-by: Christoph Winklhofer <cj.winklhofer@gmail.com> Link: https://lore.kernel.org/r/20250111181803.2283611-1-chenyuan0y@gmail.com Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Diffstat (limited to 'include/linux/overflow.h')
0 files changed, 0 insertions, 0 deletions