diff options
| author | Sahaj Chaudhari <sahaj123.sc@gmail.com> | 2026-10-18 22:20:03 +0530 |
|---|---|---|
| committer | Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com> | 2026-10-20 15:28:45 +0200 |
| commit | a0fe269293509acdd93b9cfb3f46636f7b91b33a (patch) | |
| tree | 8aad51f4507cfa5cdf267ac73fd61d69c9c38f66 /tools/perf/scripts/python/bin/stackcollapse-record | |
| parent | a38bf551726a21c9bcc001b02164f30378b64b64 (diff) | |
| download | lwn-a0fe269293509acdd93b9cfb3f46636f7b91b33a.tar.gz lwn-a0fe269293509acdd93b9cfb3f46636f7b91b33a.zip | |
gpio: pca953x: Handle direction register read errors in IRQ paths
Three IRQ paths ignore the result of reading the direction registers
and then use the destination bitmap. pca953x_read_regs() does not populate
that bitmap when regmap_bulk_read() fails, leaving the callers to use
uninitialized stack data.
This can select incorrect GPIOs for direction changes during IRQ bus
synchronization, corrupt the saved input state during IRQ setup, or
produce incorrect pending interrupt decisions.
Check the read result at all three sites. Release irq_lock without
changing GPIO directions on failure, leave the IRQ history untouched
when pending detection fails, and propagate the error from IRQ setup.
The read helper already logs the error.
Fixes: 0f25fda840a9 ("gpio: pca953x: Zap ad-hoc reg_direction cache")
Cc: stable@vger.kernel.org
Signed-off-by: Sahaj Chaudhari <sahaj123.sc@gmail.com>
Link: https://patch.msgid.link/20261018165003.3372368-1-sahaj123.sc@gmail.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Diffstat (limited to 'tools/perf/scripts/python/bin/stackcollapse-record')
0 files changed, 0 insertions, 0 deletions
