mirror of
https://github.com/torvalds/linux.git
synced 2026-09-14 16:10:02 +02:00
A dibs device interrupt handler can be active after dibs_dev_del() and
may still access dmb_clientid_arr. (UAF)
In case of a failure in dibs_dev_add() being called by dibs_lo_dev_probe()
dmb_clientid_arr is freed twice (double free).
Free dmb_clientid_arr in dibs_dev_release() after last reference is gone.
Note that allocating in dibs_dev_add() instead of dibs_dev_alloc() is ok
for now, because no dmbs can be registered before dibs_dev_add().
Fixes:
|
||
|---|---|---|
| .. | ||
| dibs_loopback.c | ||
| dibs_loopback.h | ||
| dibs_main.c | ||
| Kconfig | ||
| Makefile | ||