linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 02/10] trace_syscalls: fix SYSCALL_DEFINE0
@ 2009-12-09  7:15 Lai Jiangshan
  2009-12-14 12:01 ` Frederic Weisbecker
  0 siblings, 1 reply; 3+ messages in thread
From: Lai Jiangshan @ 2009-12-09  7:15 UTC (permalink / raw)
  To: Ingo Molnar, Steven Rostedt, Frederic Weisbecker,
	Masami Hiramatsu, Jason Baron, LKML


struct syscall_metadata variable name in SYSCALL_DEFINE0
is not the same as SYSCALL_DEFINE1/2/3/4/5/6.

SYSCALL_TRACE_ENTER_EVENT() and SYSCALL_TRACE_EXIT_EVENT() expect
struct syscall_metadata's name is __syscall_meta__XXXXXX
as SYSCALL_DEFINE1/2/3/4/5/6 defines.

It causes event_enter_##sname->data points to a wrong place.
(event_enter_##sname->data points to a dummy struct syscall_metadata)

It causes syscalls which are defined by SYSCALL_DEFINE0() can not be traced.

Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
---
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h
index 55e7108..bee1d41 100644
--- a/include/linux/syscalls.h
+++ b/include/linux/syscalls.h
@@ -196,7 +196,7 @@ struct perf_event_attr;
 	static const struct syscall_metadata __used		\
 	  __attribute__((__aligned__(4)))			\
 	  __attribute__((section("__syscalls_metadata")))	\
-	  __syscall_meta_##sname = {				\
+	  __syscall_meta__##sname = {				\
 		.name 		= "sys_"#sname,			\
 		.nb_args 	= 0,				\
 		.enter_event	= &event_enter__##sname,	\






^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH 02/10] trace_syscalls: fix SYSCALL_DEFINE0
  2009-12-09  7:15 [PATCH 02/10] trace_syscalls: fix SYSCALL_DEFINE0 Lai Jiangshan
@ 2009-12-14 12:01 ` Frederic Weisbecker
  0 siblings, 0 replies; 3+ messages in thread
From: Frederic Weisbecker @ 2009-12-14 12:01 UTC (permalink / raw)
  To: Lai Jiangshan
  Cc: Ingo Molnar, Steven Rostedt, Masami Hiramatsu, Jason Baron, LKML

On Wed, Dec 09, 2009 at 03:15:18PM +0800, Lai Jiangshan wrote:
> 
> struct syscall_metadata variable name in SYSCALL_DEFINE0
> is not the same as SYSCALL_DEFINE1/2/3/4/5/6.
> 
> SYSCALL_TRACE_ENTER_EVENT() and SYSCALL_TRACE_EXIT_EVENT() expect
> struct syscall_metadata's name is __syscall_meta__XXXXXX
> as SYSCALL_DEFINE1/2/3/4/5/6 defines.
> 
> It causes event_enter_##sname->data points to a wrong place.
> (event_enter_##sname->data points to a dummy struct syscall_metadata)
> 
> It causes syscalls which are defined by SYSCALL_DEFINE0() can not be traced.
> 
> Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
> ---
> diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h
> index 55e7108..bee1d41 100644
> --- a/include/linux/syscalls.h
> +++ b/include/linux/syscalls.h
> @@ -196,7 +196,7 @@ struct perf_event_attr;
>  	static const struct syscall_metadata __used		\
>  	  __attribute__((__aligned__(4)))			\
>  	  __attribute__((section("__syscalls_metadata")))	\
> -	  __syscall_meta_##sname = {				\
> +	  __syscall_meta__##sname = {				\
>  		.name 		= "sys_"#sname,			\
>  		.nb_args 	= 0,				\
>  		.enter_event	= &event_enter__##sname,	\


Acked-by: Frederic Weisbecker <fweisbec@gmail.com>


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH 02/10] trace_syscalls: fix SYSCALL_DEFINE0
@ 2009-12-15  7:39 Lai Jiangshan
  0 siblings, 0 replies; 3+ messages in thread
From: Lai Jiangshan @ 2009-12-15  7:39 UTC (permalink / raw)
  To: Ingo Molnar, Steven Rostedt, Frederic Weisbecker,
	Masami Hiramatsu, Jason Baron, LKML


struct syscall_metadata variable name in SYSCALL_DEFINE0
is not the same as SYSCALL_DEFINE1/2/3/4/5/6.

SYSCALL_TRACE_ENTER_EVENT() and SYSCALL_TRACE_EXIT_EVENT() expect
struct syscall_metadata's name is __syscall_meta__XXXXXX
as SYSCALL_DEFINE1/2/3/4/5/6 defines.

It causes event_enter_##sname->data points to a wrong place.
(event_enter_##sname->data points to a dummy struct syscall_metadata)

It causes syscalls which are defined by SYSCALL_DEFINE0() can not be traced.

Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Acked-by: Frederic Weisbecker <fweisbec@gmail.com>
---
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h
index 55e7108..bee1d41 100644
--- a/include/linux/syscalls.h
+++ b/include/linux/syscalls.h
@@ -196,7 +196,7 @@ struct perf_event_attr;
 	static const struct syscall_metadata __used		\
 	  __attribute__((__aligned__(4)))			\
 	  __attribute__((section("__syscalls_metadata")))	\
-	  __syscall_meta_##sname = {				\
+	  __syscall_meta__##sname = {				\
 		.name 		= "sys_"#sname,			\
 		.nb_args 	= 0,				\
 		.enter_event	= &event_enter__##sname,	\









^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2009-12-15  7:40 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-12-09  7:15 [PATCH 02/10] trace_syscalls: fix SYSCALL_DEFINE0 Lai Jiangshan
2009-12-14 12:01 ` Frederic Weisbecker
2009-12-15  7:39 Lai Jiangshan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).