All of lore.kernel.org
 help / color / mirror / Atom feed
From: tip-bot for Andy Lutomirski <luto@mit.edu>
To: linux-tip-commits@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, hpa@zytor.com, mingo@redhat.com,
	luto@mit.edu, tglx@linutronix.de, hpa@linux.intel.com,
	luto@mit.edu
Subject: [tip:x86/vdso] x86-64: Add vsyscall:emulate_vsyscall trace event
Date: Fri, 5 Aug 2011 05:39:36 GMT	[thread overview]
Message-ID: <tip-c149a665ac488e0dac22a42287f45ad1bda06ff1@git.kernel.org> (raw)
In-Reply-To: <cdaad7da946a80b200df16647c1700db3e1171e9.1312378163.git.luto@mit.edu>

Commit-ID:  c149a665ac488e0dac22a42287f45ad1bda06ff1
Gitweb:     http://git.kernel.org/tip/c149a665ac488e0dac22a42287f45ad1bda06ff1
Author:     Andy Lutomirski <luto@MIT.EDU>
AuthorDate: Wed, 3 Aug 2011 09:31:54 -0400
Committer:  H. Peter Anvin <hpa@linux.intel.com>
CommitDate: Thu, 4 Aug 2011 16:13:53 -0700

x86-64: Add vsyscall:emulate_vsyscall trace event

Vsyscall emulation is slow, so make it easy to track down.

Signed-off-by: Andy Lutomirski <luto@mit.edu>
Link: http://lkml.kernel.org/r/cdaad7da946a80b200df16647c1700db3e1171e9.1312378163.git.luto@mit.edu
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
---
 arch/x86/kernel/vsyscall_64.c    |    6 ++++++
 arch/x86/kernel/vsyscall_trace.h |   29 +++++++++++++++++++++++++++++
 2 files changed, 35 insertions(+), 0 deletions(-)

diff --git a/arch/x86/kernel/vsyscall_64.c b/arch/x86/kernel/vsyscall_64.c
index 1725930..93a0d46 100644
--- a/arch/x86/kernel/vsyscall_64.c
+++ b/arch/x86/kernel/vsyscall_64.c
@@ -50,6 +50,9 @@
 #include <asm/vgtod.h>
 #include <asm/traps.h>
 
+#define CREATE_TRACE_POINTS
+#include "vsyscall_trace.h"
+
 DEFINE_VVAR(int, vgetcpu_mode);
 DEFINE_VVAR(struct vsyscall_gtod_data, vsyscall_gtod_data) =
 {
@@ -146,6 +149,9 @@ void dotraplinkage do_emulate_vsyscall(struct pt_regs *regs, long error_code)
 	 * and int 0xcc is two bytes long.
 	 */
 	vsyscall_nr = addr_to_vsyscall_nr(regs->ip - 2);
+
+	trace_emulate_vsyscall(vsyscall_nr);
+
 	if (vsyscall_nr < 0) {
 		warn_bad_vsyscall(KERN_WARNING, regs,
 				  "illegal int 0xcc (exploit attempt?)");
diff --git a/arch/x86/kernel/vsyscall_trace.h b/arch/x86/kernel/vsyscall_trace.h
new file mode 100644
index 0000000..a8b2ede
--- /dev/null
+++ b/arch/x86/kernel/vsyscall_trace.h
@@ -0,0 +1,29 @@
+#undef TRACE_SYSTEM
+#define TRACE_SYSTEM vsyscall
+
+#if !defined(__VSYSCALL_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)
+#define __VSYSCALL_TRACE_H
+
+#include <linux/tracepoint.h>
+
+TRACE_EVENT(emulate_vsyscall,
+
+	    TP_PROTO(int nr),
+
+	    TP_ARGS(nr),
+
+	    TP_STRUCT__entry(__field(int, nr)),
+
+	    TP_fast_assign(
+			   __entry->nr = nr;
+			   ),
+
+	    TP_printk("nr = %d", __entry->nr)
+);
+
+#endif
+
+#undef TRACE_INCLUDE_PATH
+#define TRACE_INCLUDE_PATH ../../arch/x86/kernel
+#define TRACE_INCLUDE_FILE vsyscall_trace
+#include <trace/define_trace.h>

  reply	other threads:[~2011-08-05  5:39 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-03 13:31 [PATCH v2 0/6] Collected vdso/vsyscall fixes for 3.1 Andy Lutomirski
2011-08-03 13:31 ` Andy Lutomirski
2011-08-03 13:31 ` [PATCH v2 1/6] x86-64: Pad vDSO to a page boundary Andy Lutomirski
2011-08-03 13:31 ` Andy Lutomirski
2011-08-05  5:37   ` [tip:x86/vdso] " tip-bot for Andy Lutomirski
2011-08-03 13:31 ` [PATCH v2 1/6] " Andy Lutomirski
2011-08-03 13:31 ` [PATCH v2 2/6] x86-64: Move the "user" vsyscall segment out of the data segment Andy Lutomirski
2011-08-03 13:31 ` Andy Lutomirski
2011-08-03 13:31   ` Andy Lutomirski
2011-08-05  5:37   ` [tip:x86/vdso] " tip-bot for Andy Lutomirski
2011-08-03 13:31 ` [PATCH v2 3/6] x86-64: Work around gold bug 13023 Andy Lutomirski
2011-08-03 13:31 ` Andy Lutomirski
2011-08-05  5:38   ` [tip:x86/vdso] " tip-bot for Andy Lutomirski
2011-08-03 13:31 ` [PATCH v2 4/6] x86-64/xen: Enable the vvar mapping Andy Lutomirski
2011-08-03 13:31 ` Andy Lutomirski
2011-08-03 13:49   ` Konrad Rzeszutek Wilk
2011-08-03 13:49   ` Konrad Rzeszutek Wilk
2011-08-03 13:49     ` Konrad Rzeszutek Wilk
2011-08-05  5:38   ` [tip:x86/vdso] x86-64, xen: " tip-bot for Andy Lutomirski
2011-08-03 13:31 ` [PATCH v2 5/6] x86-64: Add user_64bit_mode paravirt op Andy Lutomirski
2011-08-05  5:39   ` [tip:x86/vdso] " tip-bot for Andy Lutomirski
2011-08-03 13:31 ` [PATCH v2 5/6] " Andy Lutomirski
2011-08-03 13:31 ` [PATCH v2 6/6] x86-64: Add vsyscall:emulate_vsyscall trace event Andy Lutomirski
2011-08-05  5:39   ` tip-bot for Andy Lutomirski [this message]
2011-08-03 13:31 ` Andy Lutomirski
2011-08-03 13:53 ` [PATCH v2 0/6] Collected vdso/vsyscall fixes for 3.1 Konrad Rzeszutek Wilk
2011-08-03 13:53 ` Konrad Rzeszutek Wilk
2011-08-03 13:53   ` Konrad Rzeszutek Wilk
2011-08-03 13:56   ` Konrad Rzeszutek Wilk
2011-08-03 13:56     ` Konrad Rzeszutek Wilk
2011-08-03 13:59     ` Andrew Lutomirski
2011-08-03 13:59     ` Andrew Lutomirski
2011-08-11 20:28       ` Jeremy Fitzhardinge
2011-08-11 20:47         ` Andrew Lutomirski
2011-08-11 20:47         ` Andrew Lutomirski
2011-08-11 20:28       ` Jeremy Fitzhardinge
2011-08-03 13:56   ` Konrad Rzeszutek Wilk
2011-08-03 17:34 ` [Xen-devel] " Sander Eikelenboom
2011-08-03 17:34 ` Sander Eikelenboom
2011-08-03 17:34   ` Sander Eikelenboom

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=tip-c149a665ac488e0dac22a42287f45ad1bda06ff1@git.kernel.org \
    --to=luto@mit.edu \
    --cc=hpa@linux.intel.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=tglx@linutronix.de \
    /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.