2022-11-07 16:47:30

by Aashish Sharma

[permalink] [raw]
Subject: [PATCH] tracing: Fix warning on variable 'struct trace_array'

Move the declaration of 'struct trace_array' out of #ifdef
CONFIG_TRACING block, to fix the following warning when CONFIG_TRACING
is not set:

>> include/linux/trace.h:63:45: warning: 'struct trace_array' declared
inside parameter list will not be visible outside of this definition or
declaration

Fixes: 1a77dd1c2bb5 ("scsi: tracing: Fix compile error in trace_array calls when TRACING is disabled")
Cc: Arun Easi <[email protected]>
Signed-off-by: Aashish Sharma <[email protected]>
---
include/linux/trace.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/linux/trace.h b/include/linux/trace.h
index b5e16e438448..80ffda871749 100644
--- a/include/linux/trace.h
+++ b/include/linux/trace.h
@@ -26,13 +26,13 @@ struct trace_export {
int flags;
};

+struct trace_array;
+
#ifdef CONFIG_TRACING

int register_ftrace_export(struct trace_export *export);
int unregister_ftrace_export(struct trace_export *export);

-struct trace_array;
-
void trace_printk_init_buffers(void);
__printf(3, 4)
int trace_array_printk(struct trace_array *tr, unsigned long ip,
--
2.38.1.431.g37b22c650d-goog



2022-11-07 17:28:50

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH] tracing: Fix warning on variable 'struct trace_array'

On Mon, Nov 07, 2022 at 09:35:56PM +0530, Aashish Sharma wrote:
> Move the declaration of 'struct trace_array' out of #ifdef
> CONFIG_TRACING block, to fix the following warning when CONFIG_TRACING
> is not set:
>
> >> include/linux/trace.h:63:45: warning: 'struct trace_array' declared
> inside parameter list will not be visible outside of this definition or
> declaration
>
> Fixes: 1a77dd1c2bb5 ("scsi: tracing: Fix compile error in trace_array calls when TRACING is disabled")
> Cc: Arun Easi <[email protected]>
> Signed-off-by: Aashish Sharma <[email protected]>

Reviewed-by: Guenter Roeck <[email protected]>

> ---
> include/linux/trace.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/include/linux/trace.h b/include/linux/trace.h
> index b5e16e438448..80ffda871749 100644
> --- a/include/linux/trace.h
> +++ b/include/linux/trace.h
> @@ -26,13 +26,13 @@ struct trace_export {
> int flags;
> };
>
> +struct trace_array;
> +
> #ifdef CONFIG_TRACING
>
> int register_ftrace_export(struct trace_export *export);
> int unregister_ftrace_export(struct trace_export *export);
>
> -struct trace_array;
> -
> void trace_printk_init_buffers(void);
> __printf(3, 4)
> int trace_array_printk(struct trace_array *tr, unsigned long ip,
> --
> 2.38.1.431.g37b22c650d-goog
>

2022-11-11 13:27:32

by Masami Hiramatsu

[permalink] [raw]
Subject: Re: [PATCH] tracing: Fix warning on variable 'struct trace_array'

On Mon, 7 Nov 2022 21:35:56 +0530
Aashish Sharma <[email protected]> wrote:

> Move the declaration of 'struct trace_array' out of #ifdef
> CONFIG_TRACING block, to fix the following warning when CONFIG_TRACING
> is not set:
>
> >> include/linux/trace.h:63:45: warning: 'struct trace_array' declared
> inside parameter list will not be visible outside of this definition or
> declaration
>

This looks good to me.

Acked-by: Masami Hiramatsu (Google) <[email protected]>

Thank you!

> Fixes: 1a77dd1c2bb5 ("scsi: tracing: Fix compile error in trace_array calls when TRACING is disabled")
> Cc: Arun Easi <[email protected]>
> Signed-off-by: Aashish Sharma <[email protected]>
> ---
> include/linux/trace.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/include/linux/trace.h b/include/linux/trace.h
> index b5e16e438448..80ffda871749 100644
> --- a/include/linux/trace.h
> +++ b/include/linux/trace.h
> @@ -26,13 +26,13 @@ struct trace_export {
> int flags;
> };
>
> +struct trace_array;
> +
> #ifdef CONFIG_TRACING
>
> int register_ftrace_export(struct trace_export *export);
> int unregister_ftrace_export(struct trace_export *export);
>
> -struct trace_array;
> -
> void trace_printk_init_buffers(void);
> __printf(3, 4)
> int trace_array_printk(struct trace_array *tr, unsigned long ip,
> --
> 2.38.1.431.g37b22c650d-goog
>


--
Masami Hiramatsu (Google) <[email protected]>

2022-11-16 00:34:44

by Arun Easi

[permalink] [raw]
Subject: Re: [EXT] [PATCH] tracing: Fix warning on variable 'struct trace_array'

On Mon, 7 Nov 2022, 8:05am, Aashish Sharma wrote:

>
> ----------------------------------------------------------------------
> Move the declaration of 'struct trace_array' out of #ifdef
> CONFIG_TRACING block, to fix the following warning when CONFIG_TRACING
> is not set:
>
> >> include/linux/trace.h:63:45: warning: 'struct trace_array' declared
> inside parameter list will not be visible outside of this definition or
> declaration
>
> Fixes: 1a77dd1c2bb5 ("scsi: tracing: Fix compile error in trace_array calls when TRACING is disabled")
> Cc: Arun Easi <[email protected]>
> Signed-off-by: Aashish Sharma <[email protected]>
> ---
> include/linux/trace.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/include/linux/trace.h b/include/linux/trace.h
> index b5e16e438448..80ffda871749 100644
> --- a/include/linux/trace.h
> +++ b/include/linux/trace.h
> @@ -26,13 +26,13 @@ struct trace_export {
> int flags;
> };
>
> +struct trace_array;
> +
> #ifdef CONFIG_TRACING
>
> int register_ftrace_export(struct trace_export *export);
> int unregister_ftrace_export(struct trace_export *export);
>
> -struct trace_array;
> -
> void trace_printk_init_buffers(void);
> __printf(3, 4)
> int trace_array_printk(struct trace_array *tr, unsigned long ip,
>

Looks good. Thanks!

I was wondering why I did not see this when I compiled the kernel without
TRACING (for 1a77dd1c2bb5). Apparently, I had linux/trace_events.h
included, which does exactly this. Anyway, makes sense to move this
outside the #ifdef block.

Regards,
-Arun

2022-11-17 03:17:04

by Steven Rostedt

[permalink] [raw]
Subject: Re: [PATCH] tracing: Fix warning on variable 'struct trace_array'

On Mon, 7 Nov 2022 21:35:56 +0530
Aashish Sharma <[email protected]> wrote:

> Move the declaration of 'struct trace_array' out of #ifdef
> CONFIG_TRACING block, to fix the following warning when CONFIG_TRACING
> is not set:
>
> >> include/linux/trace.h:63:45: warning: 'struct trace_array' declared
> inside parameter list will not be visible outside of this definition or
> declaration
>
> Fixes: 1a77dd1c2bb5 ("scsi: tracing: Fix compile error in trace_array calls when TRACING is disabled")
> Cc: Arun Easi <[email protected]>
> Signed-off-by: Aashish Sharma <[email protected]>
>

Queued. Thanks Aashish!

-- Steve