From: Masami Hiramatsu <mhiramat@kernel.org>
To: Masami Hiramatsu <mhiramat@kernel.org>
Cc: linux-kernel@vger.kernel.org, Ingo Molnar <mingo@redhat.com>,
Peter Zijlstra <peterz@infradead.org>,
Thomas Gleixner <tglx@linutronix.de>,
"H . Peter Anvin" <hpa@zytor.com>,
Ananth N Mavinakayanahalli <ananth@linux.vnet.ibm.com>,
Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>,
"David S . Miller" <davem@davemloft.net>,
Andrey Ryabinin <aryabinin@virtuozzo.com>,
Ye Xiaolong <xiaolong.ye@intel.com>
Subject: Re: [RFC PATCH tip/master V3 0/8] kprobes/x86: Make kprobes instruction buffers read-only
Date: Tue, 11 Apr 2017 14:44:13 +0900 [thread overview]
Message-ID: <20170411144413.7f04cf0ec89de1d3362d8dca@kernel.org> (raw)
In-Reply-To: <149076333370.22469.11135086121721120819.stgit@devbox>
Ping?
On Wed, 29 Mar 2017 13:55:44 +0900
Masami Hiramatsu <mhiramat@kernel.org> wrote:
> Hi,
>
> This is the 3rd version of the series. I just updated 4/8 according
> to Ingo's comment.
>
> This series tries to make kprobes instruction buffers read-only
> pages. Since those buffers are used for trampoline code, those
> are a part of "text area" and it should be marked as ro for
> avoiding unexpected modification. And this actually fix a warning
> rodata sanity check reported by lkp-robot.
>
> https://lkml.org/lkml/2017/2/27/161
>
> This change requires changing the kprobe-booster at first
> because it can modify the instruction buffer to add a jump while
> resuming from single-stepping. Of course after we make the buffer
> readonly, we may not be able to modify it while probing.
>
> So, at first this series checks the current bootable instructions
> and fixes a missed instruction (call far), modifies can_boost to
> use x86 instruction decoder, and inserts "booster" jump while
> preparing instruction buffer instead of resuming from single-stepping.
> At last, it makes the buffers for kprobes and optprobe readonly.
>
> This series also has some cleanup patches related to above
> changes.
>
> Changes from V2:
> - [4/8]: Fix imbalanced curly braces and remove unneeded
> (void *) cast.
>
> ---
>
> Masami Hiramatsu (8):
> kprobes/x86: Fix not to boost call far instruction
> kprobes/x86: Fix the description of __copy_instruction()
> kprobes/x86: Use instruction decoder for booster
> kprobes/x86: Do not modify singlestep buffer while resuming
> kprobes/x86: Make boostable flag boolean
> kprobes/x86: Set kprobes pages readonly
> kprobes/x86: Use probe_kernel_read instead of memcpy
> kprobes/x86: Consolidate insn decoder users for copying code
>
>
> arch/x86/include/asm/kprobes.h | 7 +-
> arch/x86/kernel/kprobes/common.h | 4 +
> arch/x86/kernel/kprobes/core.c | 149 +++++++++++++++++++-------------------
> arch/x86/kernel/kprobes/ftrace.c | 2 -
> arch/x86/kernel/kprobes/opt.c | 13 +++
> 5 files changed, 90 insertions(+), 85 deletions(-)
>
> --
> Masami Hiramatsu (Linaro) <mhiramat@kernel.org>
--
Masami Hiramatsu <mhiramat@kernel.org>
prev parent reply other threads:[~2017-04-11 5:44 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-29 4:55 [RFC PATCH tip/master V3 0/8] kprobes/x86: Make kprobes instruction buffers read-only Masami Hiramatsu
2017-03-29 4:56 ` [RFC PATCH tip/master V3 1/8] kprobes/x86: Fix not to boost call far instruction Masami Hiramatsu
2017-04-12 7:32 ` [tip:perf/core] kprobes/x86: Fix kprobe-booster not to boost far call instructions tip-bot for Masami Hiramatsu
2017-03-29 4:58 ` [RFC PATCH tip/master V3 2/8] kprobes/x86: Fix the description of __copy_instruction() Masami Hiramatsu
2017-04-12 7:32 ` [tip:perf/core] " tip-bot for Masami Hiramatsu
2017-03-29 4:59 ` [RFC PATCH tip/master V3 3/8] kprobes/x86: Use instruction decoder for booster Masami Hiramatsu
2017-04-12 7:33 ` [tip:perf/core] " tip-bot for Masami Hiramatsu
2017-03-29 5:00 ` [RFC PATCH tip/master V3 4/8] kprobes/x86: Do not modify singlestep buffer while resuming Masami Hiramatsu
2017-04-12 7:33 ` [tip:perf/core] " tip-bot for Masami Hiramatsu
2017-03-29 5:01 ` [RFC PATCH tip/master V3 5/8] kprobes/x86: Make boostable flag boolean Masami Hiramatsu
2017-04-12 7:34 ` [tip:perf/core] " tip-bot for Masami Hiramatsu
2017-03-29 5:02 ` [RFC PATCH tip/master V3 6/8] kprobes/x86: Set kprobes pages readonly Masami Hiramatsu
2017-04-12 7:34 ` [tip:perf/core] kprobes/x86: Set kprobes pages read-only tip-bot for Masami Hiramatsu
2017-03-29 5:03 ` [RFC PATCH tip/master V3 7/8] kprobes/x86: Use probe_kernel_read instead of memcpy Masami Hiramatsu
2017-04-12 7:35 ` [tip:perf/core] kprobes/x86: Use probe_kernel_read() instead of memcpy() tip-bot for Masami Hiramatsu
2017-03-29 5:05 ` [RFC PATCH tip/master V3 8/8] kprobes/x86: Consolidate insn decoder users for copying code Masami Hiramatsu
2017-04-12 7:35 ` [tip:perf/core] " tip-bot for Masami Hiramatsu
2017-04-11 5:44 ` Masami Hiramatsu [this message]
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=20170411144413.7f04cf0ec89de1d3362d8dca@kernel.org \
--to=mhiramat@kernel.org \
--cc=ananth@linux.vnet.ibm.com \
--cc=anil.s.keshavamurthy@intel.com \
--cc=aryabinin@virtuozzo.com \
--cc=davem@davemloft.net \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
--cc=xiaolong.ye@intel.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.