In the Linux kernel, the following vulnerability has been resolved: tracing/user_events: Don't destroy fields when event removal fails destroy_user_event() destroys the event's fields before attempting to remove the trace event call. If user_event_set_call_visible() fails, e.g. because the event is still enabled and trace_remove_event_call() returns -EBUSY, the event is left registered with an irreversibly destroyed field list. Any subsequent interaction with the event then operates on an empty field list while it is still fully visible in tracefs. Move the field destruction after the call removal, and splice the field list back onto the event when the removal fails so the event remains in a consistent state.
https://git.kernel.org/stable/c/9c62b7e92b6086a2a0aeb71f3553dd8cf7fdcd8b
https://git.kernel.org/stable/c/62d6544e86506bb0695c9594c713cba859666f2f
https://git.kernel.org/stable/c/2deb753127d7b7035e893955c5e91875e767d1f8
https://git.kernel.org/stable/c/0892da2272ec565858aa1ec5458552d699de9142