asprintf() is declared in stdio.h when defining _GNU_SOURCE, but stdio.h is so common that many files don’t define _GNU_SOURCE before including stdio.h, and defining _GNU_SOURCE after including stdio.h will no longer take effect. Since kselftest_harness.h introduces asprintf(), it is necessary to add _GNU_SOURCE definition in all selftests including kselftest_harness.h, otherwise, there will be warnings or even errors during compilation. There are already many selftests that define _GNU_SOURCE or put the include of kselftest_harness.h at the very beginning of the .c file, just add the _GNU_SOURCE definition in the tests that have compilation warnings. Fixes: 809216233555 ("selftests/harness: remove use of LINE_MAX") Signed-off-by: Tao Su <tao1.su@xxxxxxxxxxxxxxx> --- tools/testing/selftests/alsa/test-pcmtest-driver.c | 1 + tools/testing/selftests/kvm/x86_64/fix_hypercall_test.c | 1 + tools/testing/selftests/nci/nci_dev.c | 1 + tools/testing/selftests/net/bind_wildcard.c | 1 + tools/testing/selftests/net/ip_local_port_range.c | 1 + tools/testing/selftests/net/reuseaddr_ports_exhausted.c | 1 + tools/testing/selftests/prctl/set-anon-vma-name-test.c | 1 + tools/testing/selftests/prctl/set-process-name.c | 1 + tools/testing/selftests/rtc/rtctest.c | 1 + tools/testing/selftests/sgx/main.c | 1 + tools/testing/selftests/tdx/tdx_guest_test.c | 1 + tools/testing/selftests/user_events/dyn_test.c | 1 + tools/testing/selftests/user_events/ftrace_test.c | 1 + tools/testing/selftests/user_events/perf_test.c | 1 + 14 files changed, 14 insertions(+) diff --git a/tools/testing/selftests/alsa/test-pcmtest-driver.c b/tools/testing/selftests/alsa/test-pcmtest-driver.c index ca81afa4ee90..5a01100d459d 100644 --- a/tools/testing/selftests/alsa/test-pcmtest-driver.c +++ b/tools/testing/selftests/alsa/test-pcmtest-driver.c @@ -5,6 +5,7 @@ * * Copyright 2023 Ivan Orlov <ivan.orlov0322@xxxxxxxxx> */ +#define _GNU_SOURCE #include <string.h> #include <alsa/asoundlib.h> #include "../kselftest_harness.h" diff --git a/tools/testing/selftests/kvm/x86_64/fix_hypercall_test.c b/tools/testing/selftests/kvm/x86_64/fix_hypercall_test.c index f3c2239228b1..40f3e81b1a6c 100644 --- a/tools/testing/selftests/kvm/x86_64/fix_hypercall_test.c +++ b/tools/testing/selftests/kvm/x86_64/fix_hypercall_test.c @@ -4,6 +4,7 @@ * * Tests for KVM paravirtual feature disablement */ +#define _GNU_SOURCE #include <asm/kvm_para.h> #include <linux/kvm_para.h> #include <linux/stringify.h> diff --git a/tools/testing/selftests/nci/nci_dev.c b/tools/testing/selftests/nci/nci_dev.c index 1562aa7d60b0..7cf18aced644 100644 --- a/tools/testing/selftests/nci/nci_dev.c +++ b/tools/testing/selftests/nci/nci_dev.c @@ -6,6 +6,7 @@ * Test code for nci */ +#define _GNU_SOURCE #include <stdlib.h> #include <errno.h> #include <string.h> diff --git a/tools/testing/selftests/net/bind_wildcard.c b/tools/testing/selftests/net/bind_wildcard.c index b7b54d646b93..f271e2ee6c7a 100644 --- a/tools/testing/selftests/net/bind_wildcard.c +++ b/tools/testing/selftests/net/bind_wildcard.c @@ -1,6 +1,7 @@ // SPDX-License-Identifier: GPL-2.0 /* Copyright Amazon.com Inc. or its affiliates. */ +#define _GNU_SOURCE #include <sys/socket.h> #include <netinet/in.h> diff --git a/tools/testing/selftests/net/ip_local_port_range.c b/tools/testing/selftests/net/ip_local_port_range.c index 193b82745fd8..fadefb0ab147 100644 --- a/tools/testing/selftests/net/ip_local_port_range.c +++ b/tools/testing/selftests/net/ip_local_port_range.c @@ -7,6 +7,7 @@ * Don't run these directly but with ip_local_port_range.sh script. */ +#define _GNU_SOURCE #include <fcntl.h> #include <netinet/ip.h> diff --git a/tools/testing/selftests/net/reuseaddr_ports_exhausted.c b/tools/testing/selftests/net/reuseaddr_ports_exhausted.c index 066efd30e294..4f6fb2fbb96d 100644 --- a/tools/testing/selftests/net/reuseaddr_ports_exhausted.c +++ b/tools/testing/selftests/net/reuseaddr_ports_exhausted.c @@ -17,6 +17,7 @@ * * Author: Kuniyuki Iwashima <kuniyu@xxxxxxxxxxxx> */ +#define _GNU_SOURCE #include <arpa/inet.h> #include <netinet/in.h> #include <sys/socket.h> diff --git a/tools/testing/selftests/prctl/set-anon-vma-name-test.c b/tools/testing/selftests/prctl/set-anon-vma-name-test.c index 4275cb256dce..e5ea821be241 100644 --- a/tools/testing/selftests/prctl/set-anon-vma-name-test.c +++ b/tools/testing/selftests/prctl/set-anon-vma-name-test.c @@ -3,6 +3,7 @@ * This test covers the anonymous VMA naming functionality through prctl calls */ +#define _GNU_SOURCE #include <errno.h> #include <sys/prctl.h> #include <stdio.h> diff --git a/tools/testing/selftests/prctl/set-process-name.c b/tools/testing/selftests/prctl/set-process-name.c index 562f707ba771..9cbfe9d38d72 100644 --- a/tools/testing/selftests/prctl/set-process-name.c +++ b/tools/testing/selftests/prctl/set-process-name.c @@ -3,6 +3,7 @@ * This test covers the PR_SET_NAME functionality of prctl calls */ +#define _GNU_SOURCE #include <errno.h> #include <sys/prctl.h> #include <string.h> diff --git a/tools/testing/selftests/rtc/rtctest.c b/tools/testing/selftests/rtc/rtctest.c index 63ce02d1d5cc..2ace7a75c638 100644 --- a/tools/testing/selftests/rtc/rtctest.c +++ b/tools/testing/selftests/rtc/rtctest.c @@ -5,6 +5,7 @@ * Copyright (c) 2018 Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx> */ +#define _GNU_SOURCE #include <errno.h> #include <fcntl.h> #include <linux/rtc.h> diff --git a/tools/testing/selftests/sgx/main.c b/tools/testing/selftests/sgx/main.c index 9820b3809c69..bb6e795d06e2 100644 --- a/tools/testing/selftests/sgx/main.c +++ b/tools/testing/selftests/sgx/main.c @@ -1,6 +1,7 @@ // SPDX-License-Identifier: GPL-2.0 /* Copyright(c) 2016-20 Intel Corporation. */ +#define _GNU_SOURCE #include <cpuid.h> #include <elf.h> #include <errno.h> diff --git a/tools/testing/selftests/tdx/tdx_guest_test.c b/tools/testing/selftests/tdx/tdx_guest_test.c index 81d8cb88ea1a..f966467d1ef1 100644 --- a/tools/testing/selftests/tdx/tdx_guest_test.c +++ b/tools/testing/selftests/tdx/tdx_guest_test.c @@ -7,6 +7,7 @@ * Author: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@xxxxxxxxxxxxxxx> */ +#define _GNU_SOURCE #include <sys/ioctl.h> #include <errno.h> diff --git a/tools/testing/selftests/user_events/dyn_test.c b/tools/testing/selftests/user_events/dyn_test.c index bdf9ab127488..9d090ba3bfc3 100644 --- a/tools/testing/selftests/user_events/dyn_test.c +++ b/tools/testing/selftests/user_events/dyn_test.c @@ -5,6 +5,7 @@ * Copyright (c) 2021 Beau Belgrave <beaub@xxxxxxxxxxxxxxxxxxx> */ +#define _GNU_SOURCE #include <errno.h> #include <linux/user_events.h> #include <stdio.h> diff --git a/tools/testing/selftests/user_events/ftrace_test.c b/tools/testing/selftests/user_events/ftrace_test.c index dcd7509fe2e0..25adef590a94 100644 --- a/tools/testing/selftests/user_events/ftrace_test.c +++ b/tools/testing/selftests/user_events/ftrace_test.c @@ -5,6 +5,7 @@ * Copyright (c) 2021 Beau Belgrave <beaub@xxxxxxxxxxxxxxxxxxx> */ +#define _GNU_SOURCE #include <errno.h> #include <linux/user_events.h> #include <stdio.h> diff --git a/tools/testing/selftests/user_events/perf_test.c b/tools/testing/selftests/user_events/perf_test.c index 5288e768b207..176740a0fc02 100644 --- a/tools/testing/selftests/user_events/perf_test.c +++ b/tools/testing/selftests/user_events/perf_test.c @@ -5,6 +5,7 @@ * Copyright (c) 2021 Beau Belgrave <beaub@xxxxxxxxxxxxxxxxxxx> */ +#define _GNU_SOURCE #include <errno.h> #include <linux/user_events.h> #include <linux/perf_event.h> base-commit: dccb07f2914cdab2ac3a5b6c98406f765acab803 -- 2.34.1