Re: [PATCH] clocksource/drivers/timer-mediatek: Fix "no-cfi indirect call" warning

From: Nathan Chancellor

Date: Sun Nov 01 2026 - 17:51:22 EST


On Sun, Nov 01, 2026 at 10:55:31AM +0100, Luca Leonardo Scorcia wrote:
> After converting the driver to OF probing, kernel-test-robot reported the
> following new warning:
>
> vmlinux.o: warning: objtool: mtk_timer_probe+0x23: no-cfi indirect call!
>
> This occurs because of_device_get_match_data() returns NULL when
> CONFIG_OF is disabled, which results in LLVM dropping the kCFI setup
> since it knows that there is no valid target for this call. Adding a
> check for a NULL timer_init avoids the warning and it makes the probe
> more robust since of_device_get_match_data() could return NULL even
> when CONFIG_OF=y.
>
> Fixes: 7a097aba7255 ("clocksource/drivers/timer-mediatek: Convert to OF probing")
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> Closes: https://lore.kernel.org/oe-kbuild-all/202610290223.iOEGeDs2-lkp@xxxxxxxxx/
> Suggested-by: Nathan Chancellor <nathan@xxxxxxxxxx>
> Signed-off-by: Luca Leonardo Scorcia <l.scorcia@xxxxxxxxx>

Reviewed-by: Nathan Chancellor <nathan@xxxxxxxxxx>

> ---
> drivers/clocksource/timer-mediatek.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/clocksource/timer-mediatek.c b/drivers/clocksource/timer-mediatek.c
> index 842d6ee4259e..e772f5fe8742 100644
> --- a/drivers/clocksource/timer-mediatek.c
> +++ b/drivers/clocksource/timer-mediatek.c
> @@ -353,6 +353,9 @@ static int mtk_timer_probe(struct platform_device *pdev)
> int (*timer_init)(struct platform_device *pdev);
>
> timer_init = of_device_get_match_data(&pdev->dev);
> + if (!timer_init)
> + return -ENODEV;
> +
> return timer_init(pdev);
> }
>
> --
> 2.43.0
>

--
Cheers,
Nathan