On 2/21/22 9:13 AM, Petr Mladek wrote: > On Wed 2022-02-16 08:11:01, David Vernet wrote: >> livepatch has a set of selftests that are used to validate the behavior of >> the livepatching subsystem. One of the testcases in the livepatch >> testsuite is test-ftrace.sh, which among other things, validates that >> livepatching gracefully fails when ftrace is disabled. In the event that >> ftrace cannot be disabled using 'sysctl kernel.ftrace_enabled=0', the test >> will fail later due to it unexpectedly successfully loading the >> test_klp_livepatch module. >> >> While the livepatch selftests are careful to remove any of the livepatch >> test modules between testcases to avoid this situation, ftrace may still >> fail to be disabled if another trace is active on the system that was >> enabled with FTRACE_OPS_FL_PERMANENT. For example, any active BPF programs >> that use trampolines will cause this test to fail due to the trampoline >> being implemented with register_ftrace_direct(). The following is an >> example of such a trace: >> >> tcp_drop (1) R I D tramp: ftrace_regs_caller+0x0/0x58 >> (call_direct_funcs+0x0/0x30) >> direct-->bpf_trampoline_6442550536_0+0x0/0x1000 >> >> In order to make the test more resilient to system state that is out of its >> control, this patch updates set_ftrace_enabled() to detect sysctl failures, >> and skip the testrun when appropriate. >> >> Suggested-by: Petr Mladek <pmladek@xxxxxxxx> >> Signed-off-by: David Vernet <void@xxxxxxxxxxxxx> > > Reviewed-by: Petr Mladek <pmladek@xxxxxxxx> > Tested-by: Petr Mladek <pmladek@xxxxxxxx> > > I am going to push it after two days or so unless anyone is against. > Sorry for late replies as I'm just back from PTO, but v3 looks good to me. Thanks Petr and David. Acked-by: Joe Lawrence <joe.lawrence@xxxxxxxxxx> -- Joe