Commit 44f665b6 authored by Sami Tolvanen's avatar Sami Tolvanen Committed by Kees Cook
Browse files

psci: Fix the function type for psci_initcall_t



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.

Suggested-by: default avatarMark Rutland <mark.rutland@arm.com>
Signed-off-by: default avatarSami Tolvanen <samitolvanen@google.com>
Reviewed-by: default avatarKees Cook <keescook@chromium.org>
Tested-by: default avatarKees Cook <keescook@chromium.org>
Tested-by: default avatarNathan Chancellor <nathan@kernel.org>
Acked-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
Tested-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: default avatarKees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20220908215504.3686827-9-samitolvanen@google.com
parent cf90d038
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -274,7 +274,7 @@ static void set_conduit(enum arm_smccc_conduit conduit)
	psci_conduit = conduit;
}

static int get_set_conduit_method(struct device_node *np)
static int get_set_conduit_method(const struct device_node *np)
{
	const char *method;

@@ -528,7 +528,7 @@ typedef int (*psci_initcall_t)(const struct device_node *);
 *
 * Probe based on PSCI PSCI_VERSION function
 */
static int __init psci_0_2_init(struct device_node *np)
static int __init psci_0_2_init(const struct device_node *np)
{
	int err;

@@ -549,7 +549,7 @@ static int __init psci_0_2_init(struct device_node *np)
/*
 * PSCI < v0.2 get PSCI Function IDs via DT.
 */
static int __init psci_0_1_init(struct device_node *np)
static int __init psci_0_1_init(const struct device_node *np)
{
	u32 id;
	int err;
@@ -585,7 +585,7 @@ static int __init psci_0_1_init(struct device_node *np)
	return 0;
}

static int __init psci_1_0_init(struct device_node *np)
static int __init psci_1_0_init(const struct device_node *np)
{
	int err;