summaryrefslogtreecommitdiff
path: root/scripts/git.orderFile
diff options
context:
space:
mode:
authorRunyu Xiao <runyu.xiao@seu.edu.cn>2026-09-14 13:15:37 +0800
committerBartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>2026-09-14 10:51:01 +0200
commit50fd0ada8d37587223001600933270b59cb30e19 (patch)
tree4a22adf2f524e4d7cbcada13b03642cb56a1540e /scripts/git.orderFile
parent1f1d0812f6a8ab8e6f709c599f137c99646512cc (diff)
downloadlinux-50fd0ada8d37587223001600933270b59cb30e19.tar.gz
linux-50fd0ada8d37587223001600933270b59cb30e19.zip
gpio: virtuser: skip free_irq when no IRQ is installed
Disabling interrupt monitoring uses atomic_xchg() to clear the stored IRQ. When monitoring is already disabled, atomic_xchg() returns 0. It must not be passed to free_irq(). The bug is reproducible on an x86_64 QEMU guest with CONFIG_GPIO_VIRTUSER=y and CONFIG_GPIO_SIM=y. Configure a live gpio-virtuser device through configfs. Its input lookup must refer to a live gpio-sim bank, such as key gpio-sim-test with offset 0. The consumer's dev_name attribute is shown as <dev> below; then run: echo 0 > /sys/kernel/debug/gpio-virtuser/<dev>/gpiod:input:0/interrupts On an unpatched kernel, this reaches gpio_virtuser_interrupts_set() with ld->irq still at its initial value 0, and free_irq() reports: Trying to free already-free IRQ 0 The same reproducer completes without the warning on the patched kernel. Fixes: 91581c4b3f29 ("gpio: virtuser: new virtual testing driver for the GPIO API") Assisted-by: LLM Signed-off-by: Runyu Xiao <runyu.xiao@seu.edu.cn> Reviewed-by: Linus Walleij <linusw@kernel.org> Link: https://patch.msgid.link/20260914051537.15320-1-runyu.xiao@seu.edu.cn Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Diffstat (limited to 'scripts/git.orderFile')
0 files changed, 0 insertions, 0 deletions