From: Miroslav Benes <mbenes@suse.cz>
To: rostedt@goodmis.org, mingo@redhat.com, jpoimboe@redhat.com,
jikos@kernel.org, pmladek@suse.com, joe.lawrence@redhat.com
Cc: linux-kernel@vger.kernel.org, live-patching@vger.kernel.org,
shuah@kernel.org, kamalesh@linux.vnet.ibm.com,
linux-kselftest@vger.kernel.org, Miroslav Benes <mbenes@suse.cz>
Subject: [PATCH v3 0/3] ftrace: Introduce PERMANENT ftrace_ops flag
Date: Wed, 16 Oct 2019 13:33:12 +0200 [thread overview]
Message-ID: <20191016113316.13415-1-mbenes@suse.cz> (raw)
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
next reply other threads:[~2019-10-16 11:33 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-16 11:33 Miroslav Benes [this message]
2019-10-16 11:33 ` [PATCH v3 1/3] ftrace: Introduce PERMANENT ftrace_ops flag 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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191016113316.13415-1-mbenes@suse.cz \
--to=mbenes@suse.cz \
--cc=jikos@kernel.org \
--cc=joe.lawrence@redhat.com \
--cc=jpoimboe@redhat.com \
--cc=kamalesh@linux.vnet.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=live-patching@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=pmladek@suse.com \
--cc=rostedt@goodmis.org \
--cc=shuah@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox