From: Nathan Chancellor <nathan@kernel.org>
To: Mithil Bavishi <bavishimithil@gmail.com>
Cc: Aaro Koskinen <aaro.koskinen@iki.fi>,
Andreas Kemnade <andreas@kemnade.info>,
Kevin Hilman <khilman@baylibre.com>,
Roger Quadros <rogerq@kernel.org>,
Tony Lindgren <tony@atomide.com>,
Russell King <linux@armlinux.org.uk>,
Sami Tolvanen <samitolvanen@google.com>,
Kees Cook <kees@kernel.org>,
linux-arm-kernel@lists.infradead.org, linux-omap@vger.kernel.org,
llvm@lists.linux.dev, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] ARM: OMAP2+: Make OMAP4 finish_suspend callback CFI-safe
Date: Tue, 12 May 2026 16:34:42 +0900 [thread overview]
Message-ID: <20260512073442.GA570003@ax162> (raw)
In-Reply-To: <20260512042341.1452-1-bavishimithil@gmail.com>
On Tue, May 12, 2026 at 12:23:41AM -0400, Mithil Bavishi wrote:
> With CONFIG_CFI enabled, OMAP4 can trap in omap4_enter_lowpower()
> because omap_pm_ops.finish_suspend points directly to the assembly
> routine omap4_finish_suspend, which lacks the expected KCFI type
> metadata.
It sounds like omap4_finish_suspend() should be defined with
SYM_TYPED_FUNC_START then? Is that the case for all of the other
functions that are added to omap_pm_ops?
> Add a small C wrapper with the exact callback prototype and use it for
> finish_suspend.
>
> Signed-off-by: Mithil Bavishi <bavishimithil@gmail.com>
> ---
> arch/arm/mach-omap2/omap-mpuss-lowpower.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm/mach-omap2/omap-mpuss-lowpower.c b/arch/arm/mach-omap2/omap-mpuss-lowpower.c
> index f18ef45e2..1c51b2f97 100644
> --- a/arch/arm/mach-omap2/omap-mpuss-lowpower.c
> +++ b/arch/arm/mach-omap2/omap-mpuss-lowpower.c
> @@ -111,6 +111,11 @@ static struct cpu_pm_ops omap_pm_ops = {
> .hotplug_restart = dummy_cpu_resume,
> };
>
> +static int omap4_finish_suspend_wrapper(unsigned long cpu_state)
> +{
> + return omap4_finish_suspend(cpu_state);
> +}
> +
> /*
> * Program the wakeup routine address for the CPU0 and CPU1
> * used for OFF or DORMANT wakeup.
> @@ -437,7 +442,7 @@ int __init omap4_mpuss_init(void)
> }
>
> if (cpu_is_omap44xx()) {
> - omap_pm_ops.finish_suspend = omap4_finish_suspend;
> + omap_pm_ops.finish_suspend = omap4_finish_suspend_wrapper;
> omap_pm_ops.resume = omap4_cpu_resume;
> omap_pm_ops.scu_prepare = scu_pwrst_prepare;
> omap_pm_ops.hotplug_restart = omap4_secondary_startup;
> --
> 2.43.0
>
--
Cheers,
Nathan
next prev parent reply other threads:[~2026-05-12 7:34 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-12 4:23 [PATCH] ARM: OMAP2+: Make OMAP4 finish_suspend callback CFI-safe Mithil Bavishi
2026-05-12 7:34 ` Nathan Chancellor [this message]
2026-05-12 8:02 ` Andreas Kemnade
2026-05-12 13:57 ` Nathan Chancellor
2026-05-12 16:53 ` Mithil Bavishi
2026-05-12 19:05 ` Andreas Kemnade
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260512073442.GA570003@ax162 \
--to=nathan@kernel.org \
--cc=aaro.koskinen@iki.fi \
--cc=andreas@kemnade.info \
--cc=bavishimithil@gmail.com \
--cc=kees@kernel.org \
--cc=khilman@baylibre.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=llvm@lists.linux.dev \
--cc=rogerq@kernel.org \
--cc=samitolvanen@google.com \
--cc=tony@atomide.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.