-
- Downloads
ftrace: use preempt_enable/disable notrace macros to avoid double fault
Since the backport commit eea46baf ("ftrace: Fix possible use-after-free issue in ftrace_location()") on linux-5.4.y branch, the old ftrace_int3_handler()->ftrace_location() path has included rcu_read_lock(), which has mcount location inside and leads to potential double fault. Replace rcu_read_lock/unlock with preempt_enable/disable notrace macros so that the mcount location does not appear on the int3 handler path. This fix is specific to linux-5.4.y branch, the only branch still using ftrace_int3_handler with commit e60b613d ("ftrace: Fix possible use-after-free issue in ftrace_location()") backported. It also avoids the need to backport the code conversion to text_poke() on this branch. Reported-by:Koichiro Den <koichiro.den@canonical.com> Closes: https://lore.kernel.org/all/74gjhwxupvozwop7ndhrh7t5qeckomt7yqvkkbm5j2tlx6dkfk@rgv7sijvry2k Fixes: eea46baf ("ftrace: Fix possible use-after-free issue in ftrace_location()") # linux-5.4.y Signed-off-by:
Steven Rostedt (Google) <rostedt@goodmis.org> Signed-off-by:
Koichiro Den <koichiro.den@canonical.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Loading
Please register or sign in to comment