clkdev: report over-sized strings when creating clkdev entries

Arnd Bergmann arnd at arndb.de
Tue May 7 13:52:59 PDT 2024


On Tue, May 7, 2024, at 22:26, Stephen Boyd 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

My guess is that either one avoids the crash, but we actually
want both of them since the problem is a combination of the two
issues.

I think we also need this one on top, to have a va_end() for
each return() statement:

--- a/drivers/clk/clkdev.c
+++ b/drivers/clk/clkdev.c
@@ -193,6 +193,7 @@ vclkdev_alloc(struct clk_hw *hw, const char *con_id, const char *dev_fmt,
                cla->cl.dev_id = cla->dev_id;
        }
 
+       va_end(ap_copy);
        return &cla->cl;
 
 fail:


      Arnd



More information about the linux-arm-kernel mailing list