Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1720976 > unrolled thread

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

Started byMasami Hiramatsu <mhiramat@kernel.org>
First post2017-08-28 04:30 +0200
Last post2017-09-11 12:30 +0200
Articles 2 — 1 participant

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH -tip v3 0/2] kprobes/x86: Another way to make insn  buffer RO and cleanup Masami Hiramatsu <mhiramat@kernel.org> - 2017-08-28 04:30 +0200
    Re: [PATCH -tip v3 0/2] kprobes/x86: Another way to make insn  buffer RO and cleanup Masami Hiramatsu <mhiramat@kernel.org> - 2017-09-11 12:30 +0200

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

FromMasami Hiramatsu <mhiramat@kernel.org>
Date2017-08-28 04:30 +0200
SubjectRe: [PATCH -tip v3 0/2] kprobes/x86: Another way to make insn buffer RO and cleanup
Message-ID<ujhYm-86k-13@gated-at.bofh.it>
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@kernel.org> 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@kernel.org>


-- 
Masami Hiramatsu <mhiramat@kernel.org>

[toc] | [next] | [standalone]


#1730265

FromMasami Hiramatsu <mhiramat@kernel.org>
Date2017-09-11 12:30 +0200
Message-ID<uou8y-1GJ-19@gated-at.bofh.it>
In reply to#1720976
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@kernel.org> 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@kernel.org> 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@kernel.org>
> 
> 
> -- 
> Masami Hiramatsu <mhiramat@kernel.org>


-- 
Masami Hiramatsu <mhiramat@kernel.org>

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web