Ftrace modifies function calls using Int3 breakpoints on x86. It patches all functions in parallel to reduce the number of sync() calls. There is a code that removes pending Int3 breakpoints when something goes wrong.
The recovery does not work on x86_64. I simulated an error in ftrace_replace_code() and the system got rebooted. This patch set fixes the recovery code, improves debugging of this type of problem, and does some clean up. BTW: It is an echo from the patch set that tried to use text_poke_bp() instead of the ftrace-specific Int3 based patching code. Ftrace has some specific restrictions. I did not find a way how to make the universal text_poke_bp effective, safe, and clean to be usable there. The patch set is against linux/tip. Last commit is a5b3cca53c43c3ba7 (Merge tag 'v3.14-rc3') Petr Mladek (4): x86: Clean up remove_breakpoint() in ftrace code x86: Fix ftrace patching recovery code to work on x86_64 x86: BUG when ftrace patching recovery fails x86: Fix order of warning messages when ftrace modifies code arch/x86/kernel/ftrace.c | 67 ++++++++++++++++++++++++------------------------ 1 file changed, 34 insertions(+), 33 deletions(-) -- 1.8.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/