lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20081209225321.GA6034@Krystal>
Date:	Tue, 9 Dec 2008 17:53:21 -0500
From:	Mathieu Desnoyers <mathieu.desnoyers@...ymtl.ca>
To:	Roel Kluin <roel.kluin@...il.com>
Cc:	lkml <linux-kernel@...r.kernel.org>, Ingo Molnar <mingo@...e.hu>
Subject: Re: [PATCH 29/31] markers: Make static

* Roel Kluin (roel.kluin@...il.com) wrote:
> Sparse asked whether these could be static.
> 

Yes, I guess they should. But beware that when using trace_mark_tp()
helper within tracepoint probes, the probe functions should *not* be
made static. Making them static would make the compiler thing that
nobody is actually using them, which is false, because they are used
through the declaration made in the marker section. So we should be very
careful when turning probe functions to "static" that an external
reference to that function will be seen.

trace_mark_tp() is the only "weird" case I have seen so far.

Acked-by: Mathieu Desnoyers <mathieu.desnoyers@...ymtl.ca>

> Signed-off-by: Roel Kluin <roel.kluin@...il.com>
> ---
>  samples/markers/probe-example.c |    6 +++---
>  1 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/samples/markers/probe-example.c b/samples/markers/probe-example.c
> index 2dfb3b3..d816aad 100644
> --- a/samples/markers/probe-example.c
> +++ b/samples/markers/probe-example.c
> @@ -20,7 +20,7 @@ struct probe_data {
>  	marker_probe_func *probe_func;
>  };
>  
> -void probe_subsystem_event(void *probe_data, void *call_data,
> +static void probe_subsystem_event(void *probe_data, void *call_data,
>  	const char *format, va_list *args)
>  {
>  	/* Declare args */
> @@ -37,9 +37,9 @@ void probe_subsystem_event(void *probe_data, void *call_data,
>  	/* or count, check rights, serialize data in a buffer */
>  }
>  
> -atomic_t eventb_count = ATOMIC_INIT(0);
> +static atomic_t eventb_count = ATOMIC_INIT(0);
>  
> -void probe_subsystem_eventb(void *probe_data, void *call_data,
> +static void probe_subsystem_eventb(void *probe_data, void *call_data,
>  	const char *format, va_list *args)
>  {
>  	/* Increment counter */
> 

-- 
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ