From: Masami Hiramatsu <mhiramat@kernel.org> To: Ingo Molnar <mingo@kernel.org> Cc: Josh Poimboeuf <jpoimboe@redhat.com>, Peter Zijlstra <peterz@infradead.org>, Randy Dunlap <rdunlap@infradead.org>, Borislav Petkov <bp@alien8.de>, Juergen Gross <jgross@suse.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, Stefano Stabellini <sstabellini@kernel.org>, x86@kernel.org, linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org Subject: [PATCH -tip 2/2] x86: kprobes: Prohibit probing on instruction which has Xen prefix Date: Wed, 4 Sep 2019 20:46:09 +0900 [thread overview] Message-ID: <156759756944.24473.4664241966878257420.stgit@devnote2> (raw) In-Reply-To: <156759754770.24473.11832897710080799131.stgit@devnote2> Prohibit probing on instruction which has XEN_EMULATE_PREFIX (it must be cpuid.) Since that prefix is a marker for Xen, if we modify the marker by kprobe's int3, that doesn't work as expected. Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org> --- arch/x86/kernel/kprobes/core.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/x86/kernel/kprobes/core.c b/arch/x86/kernel/kprobes/core.c index 43fc13c831af..b1e86af4a985 100644 --- a/arch/x86/kernel/kprobes/core.c +++ b/arch/x86/kernel/kprobes/core.c @@ -351,6 +351,10 @@ int __copy_instruction(u8 *dest, u8 *src, u8 *real, struct insn *insn) kernel_insn_init(insn, dest, MAX_INSN_SIZE); insn_get_length(insn); + /* We can not probe XEN_EMULATE_PREFIX instruction */ + if (insn_has_xen_prefix(insn)) + return 0; + /* Another subsystem puts a breakpoint, failed to recover */ if (insn->opcode.bytes[0] == BREAKPOINT_INSTRUCTION) return 0;
WARNING: multiple messages have this Message-ID
From: Masami Hiramatsu <mhiramat@kernel.org> To: Ingo Molnar <mingo@kernel.org> Cc: Juergen Gross <jgross@suse.com>, Stefano Stabellini <sstabellini@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Randy Dunlap <rdunlap@infradead.org>, x86@kernel.org, linux-kernel@vger.kernel.org, Borislav Petkov <bp@alien8.de>, Josh Poimboeuf <jpoimboe@redhat.com>, xen-devel@lists.xenproject.org, Boris Ostrovsky <boris.ostrovsky@oracle.com> Subject: [Xen-devel] [PATCH -tip 2/2] x86: kprobes: Prohibit probing on instruction which has Xen prefix Date: Wed, 4 Sep 2019 20:46:09 +0900 [thread overview] Message-ID: <156759756944.24473.4664241966878257420.stgit@devnote2> (raw) In-Reply-To: <156759754770.24473.11832897710080799131.stgit@devnote2> Prohibit probing on instruction which has XEN_EMULATE_PREFIX (it must be cpuid.) Since that prefix is a marker for Xen, if we modify the marker by kprobe's int3, that doesn't work as expected. Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org> --- arch/x86/kernel/kprobes/core.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/x86/kernel/kprobes/core.c b/arch/x86/kernel/kprobes/core.c index 43fc13c831af..b1e86af4a985 100644 --- a/arch/x86/kernel/kprobes/core.c +++ b/arch/x86/kernel/kprobes/core.c @@ -351,6 +351,10 @@ int __copy_instruction(u8 *dest, u8 *src, u8 *real, struct insn *insn) kernel_insn_init(insn, dest, MAX_INSN_SIZE); insn_get_length(insn); + /* We can not probe XEN_EMULATE_PREFIX instruction */ + if (insn_has_xen_prefix(insn)) + return 0; + /* Another subsystem puts a breakpoint, failed to recover */ if (insn->opcode.bytes[0] == BREAKPOINT_INSTRUCTION) return 0; _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel
next prev parent reply other threads:[~2019-09-04 11:46 UTC|newest] Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-09-04 11:45 [PATCH -tip 0/2] x86: Prohibit kprobes on XEN_EMULATE_PREFIX Masami Hiramatsu 2019-09-04 11:45 ` [Xen-devel] " Masami Hiramatsu 2019-09-04 11:45 ` [PATCH -tip 1/2] x86: xen: insn: Decode XEN_EMULATE_PREFIX correctly Masami Hiramatsu 2019-09-04 11:45 ` [Xen-devel] " Masami Hiramatsu 2019-09-04 11:46 ` Masami Hiramatsu [this message] 2019-09-04 11:46 ` [Xen-devel] [PATCH -tip 2/2] x86: kprobes: Prohibit probing on instruction which has Xen prefix Masami Hiramatsu 2019-09-04 11:54 ` [Xen-devel] [PATCH -tip 0/2] x86: Prohibit kprobes on XEN_EMULATE_PREFIX Andrew Cooper 2019-09-04 11:54 ` Andrew Cooper 2019-09-05 1:49 ` Masami Hiramatsu 2019-09-05 1:49 ` Masami Hiramatsu 2019-09-05 7:54 ` Andrew Cooper 2019-09-05 7:54 ` Andrew Cooper 2019-09-05 8:26 ` Peter Zijlstra 2019-09-05 8:26 ` Peter Zijlstra 2019-09-05 8:53 ` Andrew Cooper 2019-09-05 8:53 ` Andrew Cooper 2019-09-05 9:26 ` Peter Zijlstra 2019-09-05 9:26 ` Peter Zijlstra 2019-09-05 9:38 ` Andrew Cooper 2019-09-05 9:38 ` Andrew Cooper 2019-09-05 12:49 ` [OT] " Masami Hiramatsu 2019-09-05 12:49 ` [Xen-devel] [OT] " Masami Hiramatsu 2019-09-05 11:32 ` [Xen-devel] " Masami Hiramatsu 2019-09-05 11:32 ` Masami Hiramatsu 2019-09-05 13:09 ` Masami Hiramatsu 2019-09-05 13:09 ` Masami Hiramatsu 2019-09-05 13:31 ` Andrew Cooper 2019-09-05 13:31 ` Andrew Cooper 2019-09-05 16:12 ` Masami Hiramatsu 2019-09-05 16:12 ` Masami Hiramatsu 2019-09-04 12:02 ` Peter Zijlstra 2019-09-04 12:02 ` [Xen-devel] " Peter Zijlstra
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=156759756944.24473.4664241966878257420.stgit@devnote2 \ --to=mhiramat@kernel.org \ --cc=boris.ostrovsky@oracle.com \ --cc=bp@alien8.de \ --cc=jgross@suse.com \ --cc=jpoimboe@redhat.com \ --cc=linux-kernel@vger.kernel.org \ --cc=mingo@kernel.org \ --cc=peterz@infradead.org \ --cc=rdunlap@infradead.org \ --cc=sstabellini@kernel.org \ --cc=x86@kernel.org \ --cc=xen-devel@lists.xenproject.org \ --subject='Re: [PATCH -tip 2/2] x86: kprobes: Prohibit probing on instruction which has Xen prefix' \ /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
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.