On Wed, May 01, 2024 at 06:24:36AM -0700, Sean Christopherson wrote: > On Wed, May 01, 2024, Mark Brown wrote: > > On Tue, Apr 30, 2024 at 11:50:09PM +0000, Edward Liaw wrote: > > > 809216233555 ("selftests/harness: remove use of LINE_MAX") introduced > > > asprintf into kselftest_harness.h, which is a GNU extension and needs > > > _GNU_SOURCE to either be defined prior to including headers or with the > > > -D_GNU_SOURCE flag passed to the compiler. > > > > This seems like something that should be handled centrally rather than > > having to go round and audit the users every time some update is made. > > +1. > > And if for some reason unilaterally defining _GNU_SOURCE in > tools/testing/selftests/lib.mk isn't an option, we should at least have > kselftest_harness.h assert instead of making a futile attempt to provide its own > definition, e.g. > > diff --git a/tools/testing/selftests/kselftest_harness.h b/tools/testing/selftests/kselftest_harness.h > index 4fd735e48ee7..6741b4f20f25 100644 > --- a/tools/testing/selftests/kselftest_harness.h > +++ b/tools/testing/selftests/kselftest_harness.h > @@ -51,7 +51,7 @@ > #define __KSELFTEST_HARNESS_H > > #ifndef _GNU_SOURCE > -#define _GNU_SOURCE > +static_assert(0, "Using the kselftests harness requires building with _GNU_SOURCE"); > #endif > #include <asm/types.h> > #include <ctype.h> Yeah, let's fix centrally. I like this approach. -- Kees Cook