Re: kunit stack usage, was: pmwg-ci report v5.5-rc4-147-gc62d43442481

From: Kees Cook
Date: Wed Jan 15 2020 - 20:29:36 EST


On Tue, Jan 07, 2020 at 01:37:07PM +0100, Arnd Bergmann wrote:
> On Mon, Dec 30, 2019 at 6:16 PM PMWG CI <pmwg-ci@xxxxxxxxxx> wrote:
> >
> >
> > The error/warning: 1 drivers/base/test/property-entry-test.c:214:1: warning: the frame size of 3128 bytes is larger than 2048 bytes [-Wframe-larger-than=]
> > ... was introduced by commit:
> >
> > commit c032ace71c29d513bf9df64ace1885fe5ff24981
> > Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
> > Date: Wed Dec 4 10:53:15 2019 -0800
> >
> > software node: add basic tests for property entries
>
> This problem is a result of the KUNIT_ASSERTION() definition that puts
> a local struct on the stack interacting badly with the structleak_plugin
> when CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL is set in
> allmodconfig:

Geh, BYREF_ALL strikes again. I'm at LCA currently, but I'd like to try
to revisit actually fixing the basic-block splitting in the plugin. This
was looked at before, but I need to dig up the thread.

If a fast fix is needed, I'm fine with disabling BYREF_ALL with KUNIT.
It's not optimal, but I feel it's on the BYREF_ALL code to solve this. :)

--
Kees Cook