Message ID | 20191016113316.13415-1-mbenes@suse.cz (mailing list archive) |
---|---|
Headers | show |
Series | ftrace: Introduce PERMANENT ftrace_ops flag | expand |
On Wed, 16 Oct 2019 13:33:12 +0200 Miroslav Benes <mbenes@suse.cz> wrote: > Livepatch uses ftrace for redirection to new patched functions. It means > that if ftrace is disabled, all live patched functions are disabled as > well. Toggling global 'ftrace_enabled' sysctl thus affect it directly. > It is not a problem per se, because only administrator can set sysctl > values, but it still may be surprising. > > Introduce PERMANENT ftrace_ops flag to amend this. If the > FTRACE_OPS_FL_PERMANENT is set on any ftrace ops, the tracing cannot be > disabled by disabling ftrace_enabled. Equally, a callback with the flag > set cannot be registered if ftrace_enabled is disabled. > > v2->v3: > - ftrace_enabled explicitly set to true > - selftest from Joe Lawrence (I just split it to two patches) > - typo fix > > v1->v2: > - different logic, proposed by Joe Lawrence > > Joe Lawrence (2): > selftests/livepatch: Make dynamic debug setup and restore generic > selftests/livepatch: Test interaction with ftrace_enabled > > Miroslav Benes (1): > ftrace: Introduce PERMANENT ftrace_ops flag > Would you like me to take all three patches through my tree? -- Steve
On Wed, 16 Oct 2019, Steven Rostedt wrote: > On Wed, 16 Oct 2019 13:33:12 +0200 > Miroslav Benes <mbenes@suse.cz> wrote: > > > Livepatch uses ftrace for redirection to new patched functions. It means > > that if ftrace is disabled, all live patched functions are disabled as > > well. Toggling global 'ftrace_enabled' sysctl thus affect it directly. > > It is not a problem per se, because only administrator can set sysctl > > values, but it still may be surprising. > > > > Introduce PERMANENT ftrace_ops flag to amend this. If the > > FTRACE_OPS_FL_PERMANENT is set on any ftrace ops, the tracing cannot be > > disabled by disabling ftrace_enabled. Equally, a callback with the flag > > set cannot be registered if ftrace_enabled is disabled. > > > > v2->v3: > > - ftrace_enabled explicitly set to true > > - selftest from Joe Lawrence (I just split it to two patches) > > - typo fix > > > > v1->v2: > > - different logic, proposed by Joe Lawrence > > > > Joe Lawrence (2): > > selftests/livepatch: Make dynamic debug setup and restore generic > > selftests/livepatch: Test interaction with ftrace_enabled > > > > Miroslav Benes (1): > > ftrace: Introduce PERMANENT ftrace_ops flag > > > > Would you like me to take all three patches through my tree? I think that would be the easiest, yes. Thanks Miroslav