Message ID | 20210917061104.2680133-3-brendanhiggins@google.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | kunit: build kunit tests without structleak plugin | expand |
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: 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. 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 >
On Thu, 16 Sep 2021 23:11:00 -0700 Brendan Higgins <brendanhiggins@google.com> 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. > > Co-developed-by: Arnd Bergmann <arnd@arndb.de> > Signed-off-by: Brendan Higgins <brendanhiggins@google.com> Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.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)
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
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)
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. 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(+)