clkdev: report over-sized strings when creating clkdev entries
Sam Protsenko
semen.protsenko at linaro.org
Wed May 8 14:07:57 PDT 2024
On Tue, May 7, 2024 at 3:26 PM Stephen Boyd <sboyd at kernel.org> wrote:
>
> Quoting Arnd Bergmann (2024-05-07 00:44:15)
> > On Tue, May 7, 2024, at 09:20, Naresh Kamboju wrote:
> > > The WinLink E850-96 board boot failed with Linux next-20240506 but there
> > > is no kernel crash log on the serial [1].
> > >
> > > Anders bisection results pointing to this commit,
> > > # first bad commit:
> > > [4d11c62ca8d77cb1f79054844b598e0f4e92dabe]
> > > clkdev: report over-sized strings when creating clkdev entrie
> > >
> > > After reverting the above patch the boot test passed [2].
> > >
> > > Reported-by: Linux Kernel Functional Testing <lkft at linaro.org>
> > >
>
> There are two fixes on the list: [1] and [2]. Perhaps one of those
> resolves this?
>
> [1] https://lore.kernel.org/r/20240507065317.3214186-1-m.szyprowski@samsung.com
> [2] https://lore.kernel.org/r/20240507064434.3213933-1-m.szyprowski@samsung.com
>
Late to the party, but FWIW here is my two cents. E850-96 board
crashes on boot when running next-20240508. Enabling earlycon reveals
the details. Here is the relevant excerpt from the backtrace:
8<-------------------------------------------------------------------->8
Unable to handle kernel NULL pointer dereference
at virtual address 0000000000000000
Call trace:
vsnprintf+0x64/0x724
...
_printk+0x60/0x84
vclkdev_alloc+0x118/0x13c
clkdev_hw_create+0x64/0x9c
do_clk_register_clkdev+0x58/0x7c
clk_hw_register_clkdev+0x30/0x54
samsung_clk_register_fixed_rate+0xac/0x104
samsung_cmu_register_clocks+0x78/0xb0
samsung_cmu_register_one+0x48/0xa4
exynos_arm64_register_cmu+0x3c/0x70
exynos850_cmu_probe+0x2c/0x40
...
8<-------------------------------------------------------------------->8
'addr2line' points at the end of vclkdev_alloc():
pr_err("%pV:%s: %s ID is greater than %zu\n",
&fmt, con_id, failure, max_size);
Applying the forementioned patch [2] ("clkdev: fix potential NULL
pointer dereference") fixes the boot for me.
I can also observe a couple of warnings like these in the kernel log:
samsung_clk_register_fixed_rate: failed to register clock lookup
for clk_rco_i3c_pmic
samsung_clk_register_fixed_rate: failed to register clock lookup
for clk_rco_apm__alv
...
The patch [1] ("clk: samsung: Don't register clkdev lookup for the
fixed rate clocks") fixes those. I think both have to be applied ASAP.
In case of E850-96, I guess [1] is more critical.
Thanks!
More information about the linux-arm-kernel
mailing list