Re: [PATCH -tip v3 0/2] kprobes/x86: Another way to make insn buffer RO and cleanup

From: Masami Hiramatsu
Date: Mon Sep 11 2017 - 06:28:28 EST


Hello Ingo,

Ping?

Could you give me a comment? Since current code has an obvious bug, it should be fixed anyway.

Thank you,

On Mon, 28 Aug 2017 11:28:04 +0900
Masami Hiramatsu <mhiramat@xxxxxxxxxx> wrote:

> Hi Ingo,
>
> What would you think about fixing this way?
> This makes the instruction buffer always RO and
> poke it via text_poke.
>
> Thank you,
>
> On Fri, 18 Aug 2017 17:22:54 +0900
> Masami Hiramatsu <mhiramat@xxxxxxxxxx> wrote:
>
> > Hi,
> >
> > This series modifies how to handle RO insn buffer and
> > cleans up addressof operators.
> >
> > The 1st patch changes the RO insn buffer handling: instead
> > of using set_memory_ro/rw to modify the buffer, it prepares
> > new instructions in another buffer and write it with
> > text_poke() as suggested by Ingo Molnar (Thanks!).
> > Since the text_poke() is safely modifying code by
> > mapping alias pages, it can write RO pages.
> > This also override alloc_insn_page() so that it returns
> > ROX page directly.
> >
> > The 2nd one is not changed. It is a cleanup patch
> > to remove addressof operators ("&") since
> > it is meaningless anymore.
> >
> > V3 has just a following update:
> > - [1/2] Not to just add set_memory_ro(), introduce new
> > patch to change the way to handle RO pages.
> >
> > Thanks,
> >
> > ---
> >
> > Masami Hiramatsu (2):
> > kprobes/x86: Make insn buffer always ROX and use text_poke
> > kprobes/x86: Remove addressof operators
> >
> >
> > arch/x86/include/asm/kprobes.h | 4 +-
> > arch/x86/kernel/kprobes/common.h | 6 ++-
> > arch/x86/kernel/kprobes/core.c | 61 +++++++++++++++++++++------------
> > arch/x86/kernel/kprobes/opt.c | 71 +++++++++++++++++++++-----------------
> > kernel/kprobes.c | 2 +
> > 5 files changed, 86 insertions(+), 58 deletions(-)
> >
> > --
> > Masami Hiramatsu <mhiramat@xxxxxxxxxx>
>
>
> --
> Masami Hiramatsu <mhiramat@xxxxxxxxxx>


--
Masami Hiramatsu <mhiramat@xxxxxxxxxx>