On Sun,  1 Oct 2017 15:30:40 -0400
Jérémy Lefaure <jeremy.lefa...@lse.epita.fr> wrote:

> It is useless to re-invent the ARRAY_SIZE macro so let's use it instead
> of DATA_CNT.
> 
> Found with Coccinelle with the following semantic patch:
> @r depends on (org || report)@
> type T;
> T[] E;
> position p;
> @@
> (
>  (sizeof(E)@p /sizeof(*E))
> |
>  (sizeof(E)@p /sizeof(E[...]))
> |
>  (sizeof(E)@p /sizeof(T))
> )
> 
> Signed-off-by: Jérémy Lefaure <jeremy.lefa...@lse.epita.fr>
> ---
>  kernel/trace/trace_events_filter.c | 7 +++----
>  1 file changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/kernel/trace/trace_events_filter.c 
> b/kernel/trace/trace_events_filter.c
> index 61e7f0678d33..02d0f378dc5c 100644
> --- a/kernel/trace/trace_events_filter.c
> +++ b/kernel/trace/trace_events_filter.c
> @@ -23,6 +23,7 @@
>  #include <linux/mutex.h>
>  #include <linux/perf_event.h>
>  #include <linux/slab.h>
> +#include <linux/kernel.h>
>  
>  #include "trace.h"
>  #include "trace_output.h"
> @@ -2376,8 +2377,6 @@ static struct test_filter_data_t {
>  #undef YES
>  #undef NO
>  
> -#define DATA_CNT (sizeof(test_filter_data)/sizeof(struct test_filter_data_t))

Just change DATA_CNT to be:

 #define DATA_CNT ARRAY_SIZE(test_filter_data)

and don't change the rest.

-- Steve

> -
>  static int test_pred_visited;
>  
>  static int test_pred_visited_fn(struct filter_pred *pred, void *event)
> @@ -2417,7 +2416,7 @@ static __init int ftrace_test_event_filter(void)
>  
>       printk(KERN_INFO "Testing ftrace filter: ");
>  
> -     for (i = 0; i < DATA_CNT; i++) {
> +     for (i = 0; i < ARRAY_SIZE(test_filter_data); i++) {
>               struct event_filter *filter = NULL;
>               struct test_filter_data_t *d = &test_filter_data[i];
>               int err;
> @@ -2463,7 +2462,7 @@ static __init int ftrace_test_event_filter(void)
>               }
>       }
>  
> -     if (i == DATA_CNT)
> +     if (i == ARRAY_SIZE(test_filter_data))
>               printk(KERN_CONT "OK\n");
>  
>       return 0;

Reply via email to