From ec52be499f35b714b789818d799040db39d94563 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Thu, 23 May 2024 13:43:27 +0200 Subject: [PATCH] 6.6-stable patches added patches: kselftest-add-a-ksft_perror-helper.patch --- .../kselftest-add-a-ksft_perror-helper.patch | 58 +++++++++++++++++++ queue-6.6/series | 1 + 2 files changed, 59 insertions(+) create mode 100644 queue-6.6/kselftest-add-a-ksft_perror-helper.patch diff --git a/queue-6.6/kselftest-add-a-ksft_perror-helper.patch b/queue-6.6/kselftest-add-a-ksft_perror-helper.patch new file mode 100644 index 00000000000..b530d3c9f39 --- /dev/null +++ b/queue-6.6/kselftest-add-a-ksft_perror-helper.patch @@ -0,0 +1,58 @@ +From 907f33028871fa7c9a3db1efd467b78ef82cce20 Mon Sep 17 00:00:00 2001 +From: Mark Brown +Date: Thu, 28 Sep 2023 16:38:11 +0200 +Subject: kselftest: Add a ksft_perror() helper + +From: Mark Brown + +commit 907f33028871fa7c9a3db1efd467b78ef82cce20 upstream. + +The standard library perror() function provides a convenient way to print +an error message based on the current errno but this doesn't play nicely +with KTAP output. Provide a helper which does an equivalent thing in a KTAP +compatible format. + +nolibc doesn't have a strerror() and adding the table of strings required +doesn't seem like a good fit for what it's trying to do so when we're using +that only print the errno. + +Signed-off-by: Mark Brown +Reviewed-by: Kees Cook +Signed-off-by: Shuah Khan +Stable-dep-of: 071af0c9e582 ("selftests: timers: Convert posix_timers test to generate KTAP output") +Signed-off-by: Edward Liaw +Signed-off-by: Greg Kroah-Hartman +--- + tools/testing/selftests/kselftest.h | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +--- a/tools/testing/selftests/kselftest.h ++++ b/tools/testing/selftests/kselftest.h +@@ -48,6 +48,7 @@ + #include + #include + #include ++#include + #include + #include + #endif +@@ -156,6 +157,19 @@ static inline void ksft_print_msg(const + va_end(args); + } + ++static inline void ksft_perror(const char *msg) ++{ ++#ifndef NOLIBC ++ ksft_print_msg("%s: %s (%d)\n", msg, strerror(errno), errno); ++#else ++ /* ++ * nolibc doesn't provide strerror() and it seems ++ * inappropriate to add one, just print the errno. ++ */ ++ ksft_print_msg("%s: %d)\n", msg, errno); ++#endif ++} ++ + static inline void ksft_test_result_pass(const char *msg, ...) + { + int saved_errno = errno; diff --git a/queue-6.6/series b/queue-6.6/series index 5c9025ad014..dde37789026 100644 --- a/queue-6.6/series +++ b/queue-6.6/series @@ -85,3 +85,4 @@ bluetooth-l2cap-fix-slab-use-after-free-in-l2cap_connect.patch bluetooth-l2cap-fix-div-by-zero-in-l2cap_le_flowctl_init.patch keys-trusted-fix-memory-leak-in-tpm2_key_encode.patch mmc-core-add-hs400-tuning-in-hs400es-initialization.patch +kselftest-add-a-ksft_perror-helper.patch -- 2.47.3