Re: [PATCH 5/5] kernel: tracepoints: add support for relative references

From: Ingo Molnar
Date: Fri Aug 18 2017 - 04:26:29 EST



* Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> wrote:

> -static void for_each_tracepoint_range(struct tracepoint * const *begin,
> - struct tracepoint * const *end,
> +static void for_each_tracepoint_range(const void *begin, const void *end,
> void (*fct)(struct tracepoint *tp, void *priv),
> void *priv)
> {
> +#ifdef CONFIG_HAVE_ARCH_PREL32_RELOCATIONS
> + const signed int *iter;
> +
> + if (!begin)
> + return;
> + for (iter = begin; iter < (signed int *)end; iter++) {
> + fct((struct tracepoint *)((unsigned long)iter + *iter), priv);
> + }

I think checkpatch is correct here to complain about the unnecessary curly braces
here.

Plus why the heavy use of 'signed int' here and elsewhere in the patches - why
not 'int' ?

Plus #2, the heavy use of type casts looks pretty ugly to begin with - is there no
way to turn this into more natural code?

Thanks,

Ingo