Patch "Revert "selftests/harness: remove use of LINE_MAX"" has been added to the 6.9-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    Revert "selftests/harness: remove use of LINE_MAX"

to the 6.9-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     revert-selftests-harness-remove-use-of-line_max.patch
and it can be found in the queue-6.9 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 0e95822bc77d06e666e7d46cd4f0a0f552068303
Author: Tao Su <tao1.su@xxxxxxxxxxxxxxx>
Date:   Thu May 9 13:31:12 2024 +0800

    Revert "selftests/harness: remove use of LINE_MAX"
    
    [ Upstream commit 6bb955fce08cbc8495a72755130d2d220994faee ]
    
    Patch series "Selftests: Fix compilation warnings due to missing
    _GNU_SOURCE definition", v2.
    
    Since kselftest_harness.h introduces asprintf()[1], many selftests have
    compilation warnings or errors due to missing _GNU_SOURCE definitions.
    
    The issue stems from a lack of a LINE_MAX definition in Android (see
    commit 38c957f07038), which is the reason why asprintf() was introduced.
    We tried adding _GNU_SOURCE definitions to more selftests to fix, but
    asprintf() may continue to cause problems, and since it is quite late in
    the 6.9 cycle, we would like to revert 809216233555 first to provide
    testing for forks[2].
    
    [1] https://lore.kernel.org/all/20240411231954.62156-1-edliaw@xxxxxxxxxx
    [2] https://lore.kernel.org/linux-kselftest/ZjuA3aY_iHkjP7bQ@xxxxxxxxxx
    
    This patch (of 2):
    
    This reverts commit 8092162335554c8ef5e7f50eff68aa9cfbdbf865.
    
    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, which causes warnings or even errors during compilation in
    many selftests.
    
    Revert 'commit 809216233555 ("selftests/harness: remove use of LINE_MAX")'
    as that came in quite late in the 6.9 cycle.
    
    Link: https://lkml.kernel.org/r/20240509053113.43462-1-tao1.su@xxxxxxxxxxxxxxx
    Link: https://lore.kernel.org/linux-kselftest/ZjuA3aY_iHkjP7bQ@xxxxxxxxxx/
    Link: https://lkml.kernel.org/r/20240509053113.43462-2-tao1.su@xxxxxxxxxxxxxxx
    Fixes: 809216233555 ("selftests/harness: remove use of LINE_MAX")
    Signed-off-by: Tao Su <tao1.su@xxxxxxxxxxxxxxx>
    Reviewed-by: Simon Horman <horms@xxxxxxxxxx>
    Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>
    Cc: Bongsu Jeon <bongsu.jeon@xxxxxxxxxxx>
    Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
    Cc: David S. Miller <davem@xxxxxxxxxxxxx>
    Cc: Edward Liaw <edliaw@xxxxxxxxxx>
    Cc: Eric Dumazet <edumazet@xxxxxxxxxx>
    Cc: Ivan Orlov <ivan.orlov0322@xxxxxxxxx>
    Cc: Jakub Kicinski <kuba@xxxxxxxxxx>
    Cc: Jarkko Sakkinen <jarkko@xxxxxxxxxx>
    Cc: Jaroslav Kysela <perex@xxxxxxxx>
    Cc: Mark Brown <broonie@xxxxxxxxxx>
    Cc: Paolo Abeni <pabeni@xxxxxxxxxx>
    Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
    Cc: Sean Christopherson <seanjc@xxxxxxxxxx>
    Cc: Shuah Khan <shuah@xxxxxxxxxx>
    Cc: Takashi Iwai <tiwai@xxxxxxxx>
    Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/tools/testing/selftests/kselftest_harness.h b/tools/testing/selftests/kselftest_harness.h
index 3c8f2965c2850..e8d79e0210831 100644
--- a/tools/testing/selftests/kselftest_harness.h
+++ b/tools/testing/selftests/kselftest_harness.h
@@ -56,6 +56,7 @@
 #include <asm/types.h>
 #include <ctype.h>
 #include <errno.h>
+#include <limits.h>
 #include <stdbool.h>
 #include <stdint.h>
 #include <stdio.h>
@@ -1216,7 +1217,7 @@ void __run_test(struct __fixture_metadata *f,
 		struct __test_metadata *t)
 {
 	struct __test_xfail *xfail;
-	char *test_name;
+	char test_name[LINE_MAX];
 	const char *diagnostic;
 
 	/* reset test struct */
@@ -1227,12 +1228,8 @@ void __run_test(struct __fixture_metadata *f,
 	memset(t->env, 0, sizeof(t->env));
 	memset(t->results->reason, 0, sizeof(t->results->reason));
 
-	if (asprintf(&test_name, "%s%s%s.%s", f->name,
-		variant->name[0] ? "." : "", variant->name, t->name) == -1) {
-		ksft_print_msg("ERROR ALLOCATING MEMORY\n");
-		t->exit_code = KSFT_FAIL;
-		_exit(t->exit_code);
-	}
+	snprintf(test_name, sizeof(test_name), "%s%s%s.%s",
+		 f->name, variant->name[0] ? "." : "", variant->name, t->name);
 
 	ksft_print_msg(" RUN           %s ...\n", test_name);
 
@@ -1270,7 +1267,6 @@ void __run_test(struct __fixture_metadata *f,
 
 	ksft_test_result_code(t->exit_code, test_name,
 			      diagnostic ? "%s" : NULL, diagnostic);
-	free(test_name);
 }
 
 static int test_harness_run(int argc, char **argv)
diff --git a/tools/testing/selftests/mm/mdwe_test.c b/tools/testing/selftests/mm/mdwe_test.c
index 1e01d3ddc11c5..200bedcdc32e9 100644
--- a/tools/testing/selftests/mm/mdwe_test.c
+++ b/tools/testing/selftests/mm/mdwe_test.c
@@ -7,7 +7,6 @@
 #include <linux/mman.h>
 #include <linux/prctl.h>
 
-#define _GNU_SOURCE
 #include <stdio.h>
 #include <stdlib.h>
 #include <sys/auxv.h>




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux