On Wed, Sep 8, 2021 at 2:25 PM Brendan Higgins brendanhiggins@google.com wrote:
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.
I don't mind Kunit tests when they don't cause problems, but one very natural way to use the Kunit test infrastructure does seem to be to just put a lot of them into one function.
And then the individually fairly small structures just add up. Probably mainly in some special configurations (ie together with CONFIG_KASAN_STACK as pointed out by Arnd, but there might be other cases that cause that issue too) where the compiler then doesn't merge stack slots.
I wonder if those 'kunit_assert' structures could be split into two: one part that could be 'static const', and at least shrink the dynamic stack use that way. Because at a minimun, things like type/file/line/format-msg seem to be things that really are just static and const.
Hmm?
Linus