mbox series

[-tip,v4,0/4] x86: kprobes: Prohibit kprobes on Xen/KVM emulate prefixes

Message ID 156777561745.25081.1205321122446165328.stgit@devnote2
Headers show
Series x86: kprobes: Prohibit kprobes on Xen/KVM emulate prefixes | expand

Message

Masami Hiramatsu Sept. 6, 2019, 1:13 p.m. UTC
Hi,

Here is the 4th version of patches to handle Xen/KVM emulate
prefix by x86 instruction decoder.

These patches allow x86 instruction decoder to decode
Xen and KVM emulate prefix correctly, and prohibit kprobes to
probe on it.
Previous version is here;

 https://lkml.kernel.org/r/156773433821.31441.2905951246664148487.stgit@devnote2

In this version, I added 2 patches, [1/4] fixes __ASM_FORM() to
accept macros using __stringify(), [2/4] introduces new
asm/emulate_prefix.h to initialize Xen and KVM emulate prefix
at one place. [3/4] is updated to use new emulate_prefix.h and
fix to add emulate_prefix.h to sync check list.

This series can be applied on -tip master branch which
has merged Josh's objtool/perf sharing common x86 insn
decoder series.

Thank you,

---

Masami Hiramatsu (4):
      x86/asm: Allow to pass macros to __ASM_FORM()
      x86: xen: kvm: Gather the definition of emulate prefixes
      x86: xen: insn: Decode Xen and KVM emulate-prefix signature
      x86: kprobes: Prohibit probing on instruction which has emulate prefix


 arch/x86/include/asm/asm.h                  |    8 ++++--
 arch/x86/include/asm/emulate_prefix.h       |   14 +++++++++++
 arch/x86/include/asm/insn.h                 |    6 +++++
 arch/x86/include/asm/xen/interface.h        |   11 +++------
 arch/x86/kernel/kprobes/core.c              |    4 +++
 arch/x86/kvm/x86.c                          |    4 ++-
 arch/x86/lib/insn.c                         |   34 +++++++++++++++++++++++++++
 tools/arch/x86/include/asm/emulate_prefix.h |   14 +++++++++++
 tools/arch/x86/include/asm/insn.h           |    6 +++++
 tools/arch/x86/lib/insn.c                   |   34 +++++++++++++++++++++++++++
 tools/objtool/sync-check.sh                 |    3 ++
 tools/perf/check-headers.sh                 |    3 ++
 12 files changed, 128 insertions(+), 13 deletions(-)
 create mode 100644 arch/x86/include/asm/emulate_prefix.h
 create mode 100644 tools/arch/x86/include/asm/emulate_prefix.h

--
Masami Hiramatsu (Linaro) <mhiramat@kernel.org>

Comments

Masami Hiramatsu Sept. 17, 2019, 6:14 a.m. UTC | #1
Hi Peter,

Could you review this version?

Thank you,

On Fri,  6 Sep 2019 22:13:37 +0900
Masami Hiramatsu <mhiramat@kernel.org> wrote:

> Hi,
> 
> Here is the 4th version of patches to handle Xen/KVM emulate
> prefix by x86 instruction decoder.
> 
> These patches allow x86 instruction decoder to decode
> Xen and KVM emulate prefix correctly, and prohibit kprobes to
> probe on it.
> Previous version is here;
> 
>  https://lkml.kernel.org/r/156773433821.31441.2905951246664148487.stgit@devnote2
> 
> In this version, I added 2 patches, [1/4] fixes __ASM_FORM() to
> accept macros using __stringify(), [2/4] introduces new
> asm/emulate_prefix.h to initialize Xen and KVM emulate prefix
> at one place. [3/4] is updated to use new emulate_prefix.h and
> fix to add emulate_prefix.h to sync check list.
> 
> This series can be applied on -tip master branch which
> has merged Josh's objtool/perf sharing common x86 insn
> decoder series.
> 
> Thank you,
> 
> ---
> 
> Masami Hiramatsu (4):
>       x86/asm: Allow to pass macros to __ASM_FORM()
>       x86: xen: kvm: Gather the definition of emulate prefixes
>       x86: xen: insn: Decode Xen and KVM emulate-prefix signature
>       x86: kprobes: Prohibit probing on instruction which has emulate prefix
> 
> 
>  arch/x86/include/asm/asm.h                  |    8 ++++--
>  arch/x86/include/asm/emulate_prefix.h       |   14 +++++++++++
>  arch/x86/include/asm/insn.h                 |    6 +++++
>  arch/x86/include/asm/xen/interface.h        |   11 +++------
>  arch/x86/kernel/kprobes/core.c              |    4 +++
>  arch/x86/kvm/x86.c                          |    4 ++-
>  arch/x86/lib/insn.c                         |   34 +++++++++++++++++++++++++++
>  tools/arch/x86/include/asm/emulate_prefix.h |   14 +++++++++++
>  tools/arch/x86/include/asm/insn.h           |    6 +++++
>  tools/arch/x86/lib/insn.c                   |   34 +++++++++++++++++++++++++++
>  tools/objtool/sync-check.sh                 |    3 ++
>  tools/perf/check-headers.sh                 |    3 ++
>  12 files changed, 128 insertions(+), 13 deletions(-)
>  create mode 100644 arch/x86/include/asm/emulate_prefix.h
>  create mode 100644 tools/arch/x86/include/asm/emulate_prefix.h
> 
> --
> Masami Hiramatsu (Linaro) <mhiramat@kernel.org>
Peter Zijlstra Oct. 9, 2019, 12:31 p.m. UTC | #2
On Tue, Sep 17, 2019 at 03:14:03PM +0900, Masami Hiramatsu wrote:
> Hi Peter,
> 
> Could you review this version?

These look good to me; shall I merge them or what was the plan?
Masami Hiramatsu Oct. 17, 2019, 3:26 a.m. UTC | #3
Hi Peter,

On Wed, 9 Oct 2019 14:31:06 +0200
Peter Zijlstra <peterz@infradead.org> wrote:

> On Tue, Sep 17, 2019 at 03:14:03PM +0900, Masami Hiramatsu wrote:
> > Hi Peter,
> > 
> > Could you review this version?
> 
> These look good to me; shall I merge them or what was the plan?

Thanks for the review, yes, could you merge this series to support emulated prefixes correctly?

Thank you,
Peter Zijlstra Oct. 17, 2019, 7:29 a.m. UTC | #4
On Thu, Oct 17, 2019 at 12:26:55PM +0900, Masami Hiramatsu wrote:
> Hi Peter,
> 
> On Wed, 9 Oct 2019 14:31:06 +0200
> Peter Zijlstra <peterz@infradead.org> wrote:
> 
> > On Tue, Sep 17, 2019 at 03:14:03PM +0900, Masami Hiramatsu wrote:
> > > Hi Peter,
> > > 
> > > Could you review this version?
> > 
> > These look good to me; shall I merge them or what was the plan?
> 
> Thanks for the review, yes, could you merge this series to support emulated prefixes correctly?

OK, I'll get them merged.