Hi Steven, > On Jul 19, 2022, at 5:21 PM, Song Liu <song@xxxxxxxxxx> wrote: > > Changes v4 => v5: > 1. Cleanup direct_mutex handling in register_ftrace_function. > (Steven Rostedt, Petr Mladek). > 2. Various smallish fixes. (Steven Rostedt, Petr Mladek). > > Changes v3 => v4: > 1. Fix build errors for different config. (kernel test robot) > > Changes v2 => v3: > 1. Major rewrite after discussions with Steven Rostedt. [1] > 2. Remove SHARE_IPMODIFY flag from ftrace code. Instead use the callback > function to communicate this information. (Steven) > 3. Add cleanup_direct_functions_after_ipmodify() to clear SHARE_IPMODIFY > on the DIRECT ops when the IPMODIFY ops is removed. > > Changes v1 => v2: > 1. Fix build errors for different config. (kernel test robot) > > Kernel Live Patch (livepatch, or klp) and bpf trampoline are important > features for modern systems. This set allows the two to work on the same > kernel function as the same time. > > live patch uses ftrace with IPMODIFY, while bpf trampoline use direct > ftrace. Existing policy does not allow the two to attach to the same kernel > function. This is changed by fine tuning ftrace IPMODIFY policy, and allows > one IPMODIFY ftrace_ops and one DIRECT ftrace_ops on the same kernel > function at the same time. Please see patch 2 and 4 for more details. > > Note that, one of the constraint here is to let bpf trampoline use direct > call when it is not working on the same function as live patch. This is > achieved by allowing ftrace code to ask bpf trampoline to make changes. > > [1] https://lore.kernel.org/all/20220602193706.2607681-2-song@xxxxxxxxxx/ How does this version look to you? Thanks, Song