linux-kselftest.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/3] ftrace: Introduce PERMANENT ftrace_ops flag
@ 2019-10-16 11:33 Miroslav Benes
  2019-10-16 11:33 ` [PATCH v3 1/3] " Miroslav Benes
                   ` (3 more replies)
  0 siblings, 4 replies; 15+ messages in thread
From: Miroslav Benes @ 2019-10-16 11:33 UTC (permalink / raw)
  To: rostedt, mingo, jpoimboe, jikos, pmladek, joe.lawrence
  Cc: linux-kernel, live-patching, shuah, kamalesh, linux-kselftest,
	Miroslav Benes

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

 Documentation/trace/ftrace-uses.rst           |  8 +++
 Documentation/trace/ftrace.rst                |  4 +-
 include/linux/ftrace.h                        |  3 +
 kernel/livepatch/patch.c                      |  3 +-
 kernel/trace/ftrace.c                         | 23 ++++++-
 tools/testing/selftests/livepatch/Makefile    |  3 +-
 .../testing/selftests/livepatch/functions.sh  | 34 +++++++---
 .../selftests/livepatch/test-callbacks.sh     |  2 +-
 .../selftests/livepatch/test-ftrace.sh        | 65 +++++++++++++++++++
 .../selftests/livepatch/test-livepatch.sh     |  2 +-
 .../selftests/livepatch/test-shadow-vars.sh   |  2 +-
 11 files changed, 132 insertions(+), 17 deletions(-)
 create mode 100755 tools/testing/selftests/livepatch/test-ftrace.sh

-- 
2.23.0


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2019-10-17  7:25 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-16 11:33 [PATCH v3 0/3] ftrace: Introduce PERMANENT ftrace_ops flag Miroslav Benes
2019-10-16 11:33 ` [PATCH v3 1/3] " Miroslav Benes
2019-10-16 13:48   ` Steven Rostedt
2019-10-16 14:25     ` Steven Rostedt
2019-10-16 11:33 ` [PATCH v3 2/3] selftests/livepatch: Make dynamic debug setup and restore generic Miroslav Benes
2019-10-16 15:08   ` Petr Mladek
2019-10-16 17:10   ` Kamalesh Babulal
2019-10-16 21:39     ` Joe Lawrence
2019-10-16 11:33 ` [PATCH v3 3/3] selftests/livepatch: Test interaction with ftrace_enabled Miroslav Benes
2019-10-16 15:07   ` Petr Mladek
2019-10-16 17:06   ` Kamalesh Babulal
2019-10-16 21:47     ` Joe Lawrence
2019-10-17  7:25       ` Kamalesh Babulal
2019-10-16 14:58 ` [PATCH v3 0/3] ftrace: Introduce PERMANENT ftrace_ops flag Steven Rostedt
2019-10-16 15:01   ` Miroslav Benes

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).