diff options
| author | Jakub Kicinski <kuba@kernel.org> | 2026-10-05 17:30:30 -0700 |
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2026-10-05 17:30:30 -0700 |
| commit | 94085db4a1f74862ce4e13308872765f7b2d3085 (patch) | |
| tree | 6125104b84f456dae38990a1b139bc7cac54e944 /include/linux/debugobjects.h | |
| parent | 363cf8def36201fa6bbca6b2b9f87b32340eba01 (diff) | |
| parent | 65629387fd4c0d2e7a4e6303364acfdcbcf843d9 (diff) | |
Merge branch 's390-ctcm-fix-timer-corruption-and-use-after-free'
Nagamani says:
====================
s390/ctcm: Fix timer corruption and use-after-free
Fix two bugs in drivers/s390/net/fsm.c and drivers/s390/net/ctcm_main.c
found by Sashiko AI code review.
Patch 1 fixes timer list corruption when fsm_addtimer() is called on
an already-pending timer - timer_setup() re-initializes the timer
list_head while it is still enqueued in the wheel.
Patch 2 fixes a use-after-free in channel_remove(). For MPC channels
the teardown has a circular dependency: the ch->timer callback can
schedule ch_disc_tasklet via mpc_action_go_inop(), ch_tasklet can
re-arm sweep_timer, and sweep_timer's callback re-arms ch->timer.
Fix by shutting down both MPC timers with timer_shutdown_sync() first
(sweep_timer before ch->timer), then killing both tasklets. This breaks
all three re-arm paths before freeing channel resources.
====================
Link: https://patch.msgid.link/20260930070234.569500-1-nagamani@linux.ibm.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'include/linux/debugobjects.h')
0 files changed, 0 insertions, 0 deletions
