[PATCH 0/3] kprobes: Fix optprobe state after forced unoptimization

From: Mani Tofigh via B4 Relay

Date: Tue Nov 03 2026 - 14:45:23 EST


Since commit 06e0d3b89da1 ("kprobes: Make optprobe optimizer
multi-generational and asynchronous") a forced unoptimization can leave
a probe's int3 in the wrong state. A disabled probe can be freed with
its int3 still in the text, an unhashed probe gets disarmed twice and a
reused probe never gets armed.

Patch 2 relies on patch 1 since it assumes every disabled probe on a
cooling list is already disarmed.

---
Mani Tofigh (3):
kprobes: Disarm disabled optprobe on forced unoptimization
kprobes: Do not disarm unhashed optprobe on dispatch
kprobes: Arm reused optprobe on cooling list

kernel/kprobes.c | 19 +++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)
---
base-commit: d4d028a7ae6401ce70825a3eb663f0a2dfc49db6
change-id: 20261103-kprobes-optprobe-state-90dbf55b246c

Best regards,
--
Mani Tofigh <mt4022@xxxxxxxxxxxx>