Re: ipv4/tcp.c:4234:1: error: the frame size of 1152 bytes is larger than 1024 bytes [-Werror=frame-larger-than=]
From: Brendan Higgins <hidden>
Date: 2021-09-08 21:25:05
Also in:
lkml, netdev
On Wed, Sep 8, 2021 at 10:16 AM Shuah Khan [off-list ref] wrote:
On 9/8/21 11:05 AM, Arnd Bergmann wrote:quoted
On Wed, Sep 8, 2021 at 4:12 PM Shuah Khan [off-list ref] wrote:quoted
On 9/7/21 5:14 PM, Linus Torvalds wrote:quoted
The KUNIT macros create all these individually reasonably small initialized structures on stack, and when you have more than a small handful of them the KUNIT infrastructure just makes the stack space explode. Sometimes the compiler will be able to re-use the stack slots, but it seems to be an iffy proposition to depend on it - it seems to be a combination of luck and various config options.I have been concerned about these macros creeping in for a while. I will take a closer look and work with Brendan to come with a plan to address it.I've previously sent patches to turn off the structleak plugin for any kunit test file to work around this, but only a few of those patches got merged and new files have been added since. It would definitely help to come up with a proper fix, but my structleak-disable hack should be sufficient as a quick fix.Looks like these are RFC patches and the discussion went cold. Let's pick this back up and we can make progress. https://lore.kernel.org/lkml/CAFd5g45+JqKDqewqz2oZtnphA-_0w62FdSTkRs43K_NJUgnLBg@mail.gmail.com/ (local)
I can try to get the patch reapplying and send it out (I just figured that Arnd or Kees would want to send it out :-) since it was your idea). I definitely agree that in the cases where KUnit is not actually contributing to blowing the stack - struct leak just thinks it is, this is fine; however, it sounds like Linus' concerns with KUnit's macros go deeper than this. Arnd, I think you sketched out a way to make the KUNIT_* macros take up less space, but after some investigation we found that it was pretty inflexible. Ideally test cases should never get big enough for KUNIT_* macros to be a problem (when they do it is usually an indication that your test case is trying to do too many things); nevertheless, we are still in this situation. I think I will need to dust off some cobwebs out of my brain to remember why I didn't like the idea of making the KUNIT_* macros take up less stack space. _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel