Re: [RFC PATCH v2 08/21] psci: Fix the function type for psci_initcall_t

From: Mark Rutland
Date: Tue May 17 2022 - 04:48:05 EST


On Fri, May 13, 2022 at 01:21:46PM -0700, Sami Tolvanen wrote:
> Functions called through a psci_initcall_t pointer all have
> non-const arguments. Fix the type definition to avoid tripping
> indirect call checks with CFI_CLANG.
>
> Reported-by: Mark Rutland <mark.rutland@xxxxxxx>
> Signed-off-by: Sami Tolvanen <samitolvanen@xxxxxxxxxx>

I'd prefer that we spread the `const` to each of the implementations rather
than dropping it from the type.

I have a local patch for that I can send out shortly.

Thanks,
Mark.

> ---
> drivers/firmware/psci/psci.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/firmware/psci/psci.c b/drivers/firmware/psci/psci.c
> index cfb448eabdaa..6554bf4b8c99 100644
> --- a/drivers/firmware/psci/psci.c
> +++ b/drivers/firmware/psci/psci.c
> @@ -521,7 +521,7 @@ static int __init psci_probe(void)
> return 0;
> }
>
> -typedef int (*psci_initcall_t)(const struct device_node *);
> +typedef int (*psci_initcall_t)(struct device_node *);
>
> /*
> * PSCI init function for PSCI versions >=0.2
> --
> 2.36.0.550.gb090851708-goog
>