gpio: sim: dispose of irq mappings before destroying the irq_sim domain
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Tue, 22 Aug 2023 19:29:42 +0000 (21:29 +0200)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Wed, 23 Aug 2023 19:05:28 +0000 (21:05 +0200)
commitab4109f91b328ff5cb5e1279f64d443241add2d1
treed9f7b8cfabc0d2046e938d48c39036b6704cce88
parent706a741595047797872e669b3101429ab8d378ef
gpio: sim: dispose of irq mappings before destroying the irq_sim domain

If a GPIO simulator device is unbound with interrupts still requested,
we will hit a use-after-free issue in __irq_domain_deactivate_irq(). The
owner of the irq domain must dispose of all mappings before destroying
the domain object.

Fixes: cb8c474e79be ("gpio: sim: new testing module")
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
drivers/gpio/gpio-sim.c