On Fri, Sep 17, 2021 at 8:54 AM Kees Cook keescook@chromium.org wrote:
On Thu, Sep 16, 2021 at 11:11:00PM -0700, Brendan Higgins wrote:
The structleak plugin causes the stack frame size to grow immensely when used with KUnit:
../drivers/iio/test/iio-test-format.c: In function ‘iio_test_iio_format_value_fixedpoint’: ../drivers/iio/test/iio-test-format.c:98:1: warning: the frame size of 2336 bytes is larger than 2048 bytes [-Wframe-larger-than=]
Turn it off in this file.
Given that these are all for KUnit tests, is it possible there are going to be other CONFIGs that will interact poorly (e.g. KASAN)? Maybe there needs to be a small level of indirection with something like:
I don't think so. KASAN actually uses KUnit to test it, and we have experimented running KASAN alongside other KUnit tests for added protection and results have looked good.
I would be surprised if there are other CONFIGs other than things dealing with stack size that don't like KUnit.
DISABLE_UNDER_KUNIT := $(DISABLE_STRUCTLEAK_PLUGIN) export DISABLE_UNDER_KUNIT
then all of these become:
+CFLAGS_iio-test-format.o += $(DISABLE_UNDER_KUNIT)
Either way, I think these are fine to add.
I like your suggestion if we find other configs that don't like KUnit, but I don't think we have seen any others so far, so I think I will keep it as it is for now.
Reviewed-by: Kees Cook keescook@chromium.org
Co-developed-by: Arnd Bergmann arnd@arndb.de Signed-off-by: Brendan Higgins brendanhiggins@google.com
drivers/iio/test/Makefile | 1 + 1 file changed, 1 insertion(+)
diff --git a/drivers/iio/test/Makefile b/drivers/iio/test/Makefile index f1099b4953014..467519a2027e5 100644 --- a/drivers/iio/test/Makefile +++ b/drivers/iio/test/Makefile @@ -5,3 +5,4 @@
# Keep in alphabetical order obj-$(CONFIG_IIO_TEST_FORMAT) += iio-test-format.o
+CFLAGS_iio-test-format.o += $(DISABLE_STRUCTLEAK_PLUGIN)
2.33.0.464.g1972c5931b-goog
-- Kees Cook