lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c0c16973-5564-429f-bcda-de86bf742466@collabora.com>
Date: Fri, 19 Apr 2024 21:50:17 +0500
From: Muhammad Usama Anjum <usama.anjum@...labora.com>
To: Nathan Chancellor <nathan@...nel.org>, shuah@...nel.org
Cc: Muhammad Usama Anjum <usama.anjum@...labora.com>, tglx@...utronix.de,
 linux-kselftest@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] selftests: Make ksft_exit functions return void instead
 of int

On 4/17/24 8:37 PM, Nathan Chancellor wrote:
> Commit f7d5bcd35d42 ("selftests: kselftest: Mark functions that
> unconditionally call exit() as __noreturn") marked functions that call
> exit() as __noreturn but it did not change the return type of these
> functions from 'void' to 'int' like it should have (since a noreturn
> function by definition cannot return an integer because it does not
> return...) because there are many tests that return the result of the
> ksft_exit function, even though it has never been used due to calling
> exit().
> 
> Prior to adding __noreturn, the compiler would not know that the functions
> that call exit() will not return, so code like
> 
>   void ksft_exit_fail(void)
>   {
>     exit(1);
>   }
> 
>   void ksft_exit_pass(void)
>   {
>     exit(0);
>   }
> 
>   int main(void)
>   {
>     int ret;
> 
>     ret = foo();
>     if (ret)
>       ksft_exit_fail();
>     ksft_exit_pass();
>   }
> 
> would cause the compiler to complain that main() does not return an
> integer, even though when ksft_exit_pass() is called, exit() will cause
> the program to terminate. So ksft_exit_...() returns int to make the
> compiler happy.
> 
>   int ksft_exit_fail(void)
>   {
>     exit(1);
>   }
> 
>   int ksft_exit_pass(void)
>   {
>     exit(0);
>   }
> 
>   int main(void)
>   {
>     int ret;
> 
>     ret = foo();
>     if (ret)
>       return ksft_exit_fail();
>     return ksft_exit_pass();
>   }
> 
> While this results in no warnings, it is weird semantically and it has
> issues as noted in the aforementioned __noreturn change. Now that
> __noreturn has been added to these functions, it is much cleaner to
> change the functions to 'void' and eliminate the return statements, as
> it has been made clear to the compiler that these functions terminate
> the program. Drop the return before all instances of ksft_exit_...() in
> a mechanical way. Only two manually changes were made to transform
> 
>   return !ret ? ksft_exit_pass() : ksft_exit_fail();
> 
> into the more idiomatic
> 
>   if (ret)
>     ksft_exit_fail();
>   ksft_exit_pass();
> 
> as well as a few style clean ups now that the code is shorter.
> 
> Signed-off-by: Nathan Chancellor <nathan@...nel.org>
Reviewed-by: Muhammad Usama Anjum <usama.anjum@...labora.com>

> ---
>  tools/testing/selftests/clone3/clone3_clear_sighand.c        |  2 +-
>  tools/testing/selftests/clone3/clone3_set_tid.c              |  4 +++-
>  tools/testing/selftests/ipc/msgque.c                         | 11 +++++------
>  tools/testing/selftests/kselftest.h                          | 12 ++++++------
>  .../selftests/membarrier/membarrier_test_multi_thread.c      |  2 +-
>  .../selftests/membarrier/membarrier_test_single_thread.c     |  2 +-
>  tools/testing/selftests/mm/compaction_test.c                 |  6 +++---
>  tools/testing/selftests/mm/cow.c                             |  2 +-
>  tools/testing/selftests/mm/gup_longterm.c                    |  2 +-
>  tools/testing/selftests/mm/gup_test.c                        |  4 ++--
>  tools/testing/selftests/mm/ksm_functional_tests.c            |  2 +-
>  tools/testing/selftests/mm/madv_populate.c                   |  2 +-
>  tools/testing/selftests/mm/mkdirty.c                         |  2 +-
>  tools/testing/selftests/mm/pagemap_ioctl.c                   |  4 ++--
>  tools/testing/selftests/mm/soft-dirty.c                      |  2 +-
>  tools/testing/selftests/pidfd/pidfd_fdinfo_test.c            |  2 +-
>  tools/testing/selftests/pidfd/pidfd_open_test.c              |  4 +++-
>  tools/testing/selftests/pidfd/pidfd_poll_test.c              |  2 +-
>  tools/testing/selftests/pidfd/pidfd_test.c                   |  2 +-
>  tools/testing/selftests/resctrl/resctrl_tests.c              |  6 +++---
>  tools/testing/selftests/sync/sync_test.c                     |  3 +--
>  tools/testing/selftests/timers/adjtick.c                     |  4 ++--
>  tools/testing/selftests/timers/alarmtimer-suspend.c          |  4 ++--
>  tools/testing/selftests/timers/change_skew.c                 |  4 ++--
>  tools/testing/selftests/timers/freq-step.c                   |  4 ++--
>  tools/testing/selftests/timers/leap-a-day.c                  | 10 +++++-----
>  tools/testing/selftests/timers/leapcrash.c                   |  4 ++--
>  tools/testing/selftests/timers/mqueue-lat.c                  |  4 ++--
>  tools/testing/selftests/timers/posix_timers.c                | 12 ++++++------
>  tools/testing/selftests/timers/raw_skew.c                    |  6 +++---
>  tools/testing/selftests/timers/set-2038.c                    |  4 ++--
>  tools/testing/selftests/timers/set-tai.c                     |  4 ++--
>  tools/testing/selftests/timers/set-timer-lat.c               |  4 ++--
>  tools/testing/selftests/timers/set-tz.c                      |  4 ++--
>  tools/testing/selftests/timers/skew_consistency.c            |  4 ++--
>  tools/testing/selftests/timers/threadtest.c                  |  2 +-
>  tools/testing/selftests/timers/valid-adjtimex.c              |  6 +++---
>  tools/testing/selftests/x86/lam.c                            |  2 +-
>  38 files changed, 81 insertions(+), 79 deletions(-)
> 
> diff --git a/tools/testing/selftests/clone3/clone3_clear_sighand.c b/tools/testing/selftests/clone3/clone3_clear_sighand.c
> index 54a8b2445be9..ce0426786828 100644
> --- a/tools/testing/selftests/clone3/clone3_clear_sighand.c
> +++ b/tools/testing/selftests/clone3/clone3_clear_sighand.c
> @@ -120,5 +120,5 @@ int main(int argc, char **argv)
>  
>  	test_clone3_clear_sighand();
>  
> -	return ksft_exit_pass();
> +	ksft_exit_pass();
>  }
> diff --git a/tools/testing/selftests/clone3/clone3_set_tid.c b/tools/testing/selftests/clone3/clone3_set_tid.c
> index fbf813a5a06f..bfb0da2b4fdd 100644
> --- a/tools/testing/selftests/clone3/clone3_set_tid.c
> +++ b/tools/testing/selftests/clone3/clone3_set_tid.c
> @@ -412,5 +412,7 @@ int main(int argc, char *argv[])
>  out:
>  	ret = 0;
>  
> -	return !ret ? ksft_exit_pass() : ksft_exit_fail();
> +	if (ret)
> +		ksft_exit_fail();
> +	ksft_exit_pass();
>  }
> diff --git a/tools/testing/selftests/ipc/msgque.c b/tools/testing/selftests/ipc/msgque.c
> index 656c43c24044..c75ea4094870 100644
> --- a/tools/testing/selftests/ipc/msgque.c
> +++ b/tools/testing/selftests/ipc/msgque.c
> @@ -198,13 +198,12 @@ int main(int argc, char **argv)
>  	struct msgque_data msgque;
>  
>  	if (getuid() != 0)
> -		return ksft_exit_skip(
> -				"Please run the test as root - Exiting.\n");
> +		ksft_exit_skip("Please run the test as root - Exiting.\n");
>  
>  	msgque.key = ftok(argv[0], 822155650);
>  	if (msgque.key == -1) {
>  		printf("Can't make key: %d\n", -errno);
> -		return ksft_exit_fail();
> +		ksft_exit_fail();
>  	}
>  
>  	msgque.msq_id = msgget(msgque.key, IPC_CREAT | IPC_EXCL | 0666);
> @@ -243,13 +242,13 @@ int main(int argc, char **argv)
>  		printf("Failed to test queue: %d\n", err);
>  		goto err_out;
>  	}
> -	return ksft_exit_pass();
> +	ksft_exit_pass();
>  
>  err_destroy:
>  	if (msgctl(msgque.msq_id, IPC_RMID, NULL)) {
>  		printf("Failed to destroy queue: %d\n", -errno);
> -		return ksft_exit_fail();
> +		ksft_exit_fail();
>  	}
>  err_out:
> -	return ksft_exit_fail();
> +	ksft_exit_fail();
>  }
> diff --git a/tools/testing/selftests/kselftest.h b/tools/testing/selftests/kselftest.h
> index 9bb1664bcf95..f4221691a7da 100644
> --- a/tools/testing/selftests/kselftest.h
> +++ b/tools/testing/selftests/kselftest.h
> @@ -327,13 +327,13 @@ void ksft_test_result_code(int exit_code, const char *test_name,
>  		break;						\
>  	} } while (0)
>  
> -static inline __noreturn int ksft_exit_pass(void)
> +static inline __noreturn void ksft_exit_pass(void)
>  {
>  	ksft_print_cnts();
>  	exit(KSFT_PASS);
>  }
>  
> -static inline __noreturn int ksft_exit_fail(void)
> +static inline __noreturn void ksft_exit_fail(void)
>  {
>  	ksft_print_cnts();
>  	exit(KSFT_FAIL);
> @@ -360,7 +360,7 @@ static inline __noreturn int ksft_exit_fail(void)
>  		  ksft_cnt.ksft_xfail +	\
>  		  ksft_cnt.ksft_xskip)
>  
> -static inline __noreturn __printf(1, 2) int ksft_exit_fail_msg(const char *msg, ...)
> +static inline __noreturn __printf(1, 2) void ksft_exit_fail_msg(const char *msg, ...)
>  {
>  	int saved_errno = errno;
>  	va_list args;
> @@ -388,19 +388,19 @@ static inline __noreturn void ksft_exit_fail_perror(const char *msg)
>  #endif
>  }
>  
> -static inline __noreturn int ksft_exit_xfail(void)
> +static inline __noreturn void ksft_exit_xfail(void)
>  {
>  	ksft_print_cnts();
>  	exit(KSFT_XFAIL);
>  }
>  
> -static inline __noreturn int ksft_exit_xpass(void)
> +static inline __noreturn void ksft_exit_xpass(void)
>  {
>  	ksft_print_cnts();
>  	exit(KSFT_XPASS);
>  }
>  
> -static inline __noreturn __printf(1, 2) int ksft_exit_skip(const char *msg, ...)
> +static inline __noreturn __printf(1, 2) void ksft_exit_skip(const char *msg, ...)
>  {
>  	int saved_errno = errno;
>  	va_list args;
> diff --git a/tools/testing/selftests/membarrier/membarrier_test_multi_thread.c b/tools/testing/selftests/membarrier/membarrier_test_multi_thread.c
> index a9cc17facfb3..4e14dba81234 100644
> --- a/tools/testing/selftests/membarrier/membarrier_test_multi_thread.c
> +++ b/tools/testing/selftests/membarrier/membarrier_test_multi_thread.c
> @@ -69,5 +69,5 @@ int main(int argc, char **argv)
>  	/* Multi-threaded */
>  	test_mt_membarrier();
>  
> -	return ksft_exit_pass();
> +	ksft_exit_pass();
>  }
> diff --git a/tools/testing/selftests/membarrier/membarrier_test_single_thread.c b/tools/testing/selftests/membarrier/membarrier_test_single_thread.c
> index 4cdc8b1d124c..fa3f1d6c37a0 100644
> --- a/tools/testing/selftests/membarrier/membarrier_test_single_thread.c
> +++ b/tools/testing/selftests/membarrier/membarrier_test_single_thread.c
> @@ -24,5 +24,5 @@ int main(int argc, char **argv)
>  
>  	test_membarrier_get_registrations(/*cmd=*/0);
>  
> -	return ksft_exit_pass();
> +	ksft_exit_pass();
>  }
> diff --git a/tools/testing/selftests/mm/compaction_test.c b/tools/testing/selftests/mm/compaction_test.c
> index 533999b6c284..4f42eb7d7636 100644
> --- a/tools/testing/selftests/mm/compaction_test.c
> +++ b/tools/testing/selftests/mm/compaction_test.c
> @@ -177,7 +177,7 @@ int main(int argc, char **argv)
>  	ksft_print_header();
>  
>  	if (prereq() || geteuid())
> -		return ksft_exit_skip("Prerequisites unsatisfied\n");
> +		ksft_exit_skip("Prerequisites unsatisfied\n");
>  
>  	ksft_set_plan(1);
>  
> @@ -225,7 +225,7 @@ int main(int argc, char **argv)
>  	}
>  
>  	if (check_compaction(mem_free, hugepage_size) == 0)
> -		return ksft_exit_pass();
> +		ksft_exit_pass();
>  
> -	return ksft_exit_fail();
> +	ksft_exit_fail();
>  }
> diff --git a/tools/testing/selftests/mm/cow.c b/tools/testing/selftests/mm/cow.c
> index 363bf5f801be..fe078d6e1806 100644
> --- a/tools/testing/selftests/mm/cow.c
> +++ b/tools/testing/selftests/mm/cow.c
> @@ -1779,5 +1779,5 @@ int main(int argc, char **argv)
>  	if (err)
>  		ksft_exit_fail_msg("%d out of %d tests failed\n",
>  				   err, ksft_test_num());
> -	return ksft_exit_pass();
> +	ksft_exit_pass();
>  }
> diff --git a/tools/testing/selftests/mm/gup_longterm.c b/tools/testing/selftests/mm/gup_longterm.c
> index ad168d35b23b..d7eaca5bbe9b 100644
> --- a/tools/testing/selftests/mm/gup_longterm.c
> +++ b/tools/testing/selftests/mm/gup_longterm.c
> @@ -456,5 +456,5 @@ int main(int argc, char **argv)
>  	if (err)
>  		ksft_exit_fail_msg("%d out of %d tests failed\n",
>  				   err, ksft_test_num());
> -	return ksft_exit_pass();
> +	ksft_exit_pass();
>  }
> diff --git a/tools/testing/selftests/mm/gup_test.c b/tools/testing/selftests/mm/gup_test.c
> index 18a49c70d4c6..bd335cf9bc0e 100644
> --- a/tools/testing/selftests/mm/gup_test.c
> +++ b/tools/testing/selftests/mm/gup_test.c
> @@ -228,7 +228,7 @@ int main(int argc, char **argv)
>  			break;
>  		}
>  		ksft_test_result_skip("Please run this test as root\n");
> -		return ksft_exit_pass();
> +		ksft_exit_pass();
>  	}
>  
>  	p = mmap(NULL, size, PROT_READ | PROT_WRITE, flags, filed, 0);
> @@ -267,5 +267,5 @@ int main(int argc, char **argv)
>  
>  	free(tid);
>  
> -	return ksft_exit_pass();
> +	ksft_exit_pass();
>  }
> diff --git a/tools/testing/selftests/mm/ksm_functional_tests.c b/tools/testing/selftests/mm/ksm_functional_tests.c
> index d615767e396b..508287560c45 100644
> --- a/tools/testing/selftests/mm/ksm_functional_tests.c
> +++ b/tools/testing/selftests/mm/ksm_functional_tests.c
> @@ -646,5 +646,5 @@ int main(int argc, char **argv)
>  	if (err)
>  		ksft_exit_fail_msg("%d out of %d tests failed\n",
>  				   err, ksft_test_num());
> -	return ksft_exit_pass();
> +	ksft_exit_pass();
>  }
> diff --git a/tools/testing/selftests/mm/madv_populate.c b/tools/testing/selftests/mm/madv_populate.c
> index 17bcb07f19f3..ef7d911da13e 100644
> --- a/tools/testing/selftests/mm/madv_populate.c
> +++ b/tools/testing/selftests/mm/madv_populate.c
> @@ -307,5 +307,5 @@ int main(int argc, char **argv)
>  	if (err)
>  		ksft_exit_fail_msg("%d out of %d tests failed\n",
>  				   err, ksft_test_num());
> -	return ksft_exit_pass();
> +	ksft_exit_pass();
>  }
> diff --git a/tools/testing/selftests/mm/mkdirty.c b/tools/testing/selftests/mm/mkdirty.c
> index 301abb99e027..b8a7efe9204e 100644
> --- a/tools/testing/selftests/mm/mkdirty.c
> +++ b/tools/testing/selftests/mm/mkdirty.c
> @@ -375,5 +375,5 @@ int main(void)
>  	if (err)
>  		ksft_exit_fail_msg("%d out of %d tests failed\n",
>  				   err, ksft_test_num());
> -	return ksft_exit_pass();
> +	ksft_exit_pass();
>  }
> diff --git a/tools/testing/selftests/mm/pagemap_ioctl.c b/tools/testing/selftests/mm/pagemap_ioctl.c
> index d59517ed3d48..2d785aca72a5 100644
> --- a/tools/testing/selftests/mm/pagemap_ioctl.c
> +++ b/tools/testing/selftests/mm/pagemap_ioctl.c
> @@ -1484,7 +1484,7 @@ int main(int argc, char *argv[])
>  	ksft_print_header();
>  
>  	if (init_uffd())
> -		return ksft_exit_pass();
> +		ksft_exit_pass();
>  
>  	ksft_set_plan(115);
>  
> @@ -1660,5 +1660,5 @@ int main(int argc, char *argv[])
>  	userfaultfd_tests();
>  
>  	close(pagemap_fd);
> -	return ksft_exit_pass();
> +	ksft_exit_pass();
>  }
> diff --git a/tools/testing/selftests/mm/soft-dirty.c b/tools/testing/selftests/mm/soft-dirty.c
> index 7dbfa53d93a0..d9dbf879748b 100644
> --- a/tools/testing/selftests/mm/soft-dirty.c
> +++ b/tools/testing/selftests/mm/soft-dirty.c
> @@ -209,5 +209,5 @@ int main(int argc, char **argv)
>  
>  	close(pagemap_fd);
>  
> -	return ksft_exit_pass();
> +	ksft_exit_pass();
>  }
> diff --git a/tools/testing/selftests/pidfd/pidfd_fdinfo_test.c b/tools/testing/selftests/pidfd/pidfd_fdinfo_test.c
> index 01cc37bf611c..f062a986e382 100644
> --- a/tools/testing/selftests/pidfd/pidfd_fdinfo_test.c
> +++ b/tools/testing/selftests/pidfd/pidfd_fdinfo_test.c
> @@ -307,5 +307,5 @@ int main(int argc, char **argv)
>  	test_pidfd_fdinfo_nspid();
>  	test_pidfd_dead_fdinfo();
>  
> -	return ksft_exit_pass();
> +	ksft_exit_pass();
>  }
> diff --git a/tools/testing/selftests/pidfd/pidfd_open_test.c b/tools/testing/selftests/pidfd/pidfd_open_test.c
> index 8a59438ccc78..c62564c264b1 100644
> --- a/tools/testing/selftests/pidfd/pidfd_open_test.c
> +++ b/tools/testing/selftests/pidfd/pidfd_open_test.c
> @@ -159,5 +159,7 @@ int main(int argc, char **argv)
>  	if (pidfd >= 0)
>  		close(pidfd);
>  
> -	return !ret ? ksft_exit_pass() : ksft_exit_fail();
> +	if (ret)
> +		ksft_exit_fail();
> +	ksft_exit_pass();
>  }
> diff --git a/tools/testing/selftests/pidfd/pidfd_poll_test.c b/tools/testing/selftests/pidfd/pidfd_poll_test.c
> index 610811275357..55d74a50358f 100644
> --- a/tools/testing/selftests/pidfd/pidfd_poll_test.c
> +++ b/tools/testing/selftests/pidfd/pidfd_poll_test.c
> @@ -112,5 +112,5 @@ int main(int argc, char **argv)
>  	}
>  
>  	ksft_test_result_pass("pidfd poll test: pass\n");
> -	return ksft_exit_pass();
> +	ksft_exit_pass();
>  }
> diff --git a/tools/testing/selftests/pidfd/pidfd_test.c b/tools/testing/selftests/pidfd/pidfd_test.c
> index c081ae91313a..9faa686f90e4 100644
> --- a/tools/testing/selftests/pidfd/pidfd_test.c
> +++ b/tools/testing/selftests/pidfd/pidfd_test.c
> @@ -572,5 +572,5 @@ int main(int argc, char **argv)
>  	test_pidfd_send_signal_exited_fail();
>  	test_pidfd_send_signal_recycled_pid_fail();
>  
> -	return ksft_exit_pass();
> +	ksft_exit_pass();
>  }
> diff --git a/tools/testing/selftests/resctrl/resctrl_tests.c b/tools/testing/selftests/resctrl/resctrl_tests.c
> index 348d17cb2a84..ecbb7605a981 100644
> --- a/tools/testing/selftests/resctrl/resctrl_tests.c
> +++ b/tools/testing/selftests/resctrl/resctrl_tests.c
> @@ -247,13 +247,13 @@ int main(int argc, char **argv)
>  	 * 2. We execute perf commands
>  	 */
>  	if (geteuid() != 0)
> -		return ksft_exit_skip("Not running as root. Skipping...\n");
> +		ksft_exit_skip("Not running as root. Skipping...\n");
>  
>  	if (!check_resctrlfs_support())
> -		return ksft_exit_skip("resctrl FS does not exist. Enable X86_CPU_RESCTRL config option.\n");
> +		ksft_exit_skip("resctrl FS does not exist. Enable X86_CPU_RESCTRL config option.\n");
>  
>  	if (umount_resctrlfs())
> -		return ksft_exit_skip("resctrl FS unmount failed.\n");
> +		ksft_exit_skip("resctrl FS unmount failed.\n");
>  
>  	filter_dmesg();
>  
> diff --git a/tools/testing/selftests/sync/sync_test.c b/tools/testing/selftests/sync/sync_test.c
> index 414a617db993..93db5aa246a3 100644
> --- a/tools/testing/selftests/sync/sync_test.c
> +++ b/tools/testing/selftests/sync/sync_test.c
> @@ -109,6 +109,5 @@ int main(void)
>  		ksft_exit_fail_msg("%d out of %d sync tests failed\n",
>  					err, ksft_test_num());
>  
> -	/* need this return to keep gcc happy */
> -	return ksft_exit_pass();
> +	ksft_exit_pass();
>  }
> diff --git a/tools/testing/selftests/timers/adjtick.c b/tools/testing/selftests/timers/adjtick.c
> index 47e05fdc32c5..205b76a4abb4 100644
> --- a/tools/testing/selftests/timers/adjtick.c
> +++ b/tools/testing/selftests/timers/adjtick.c
> @@ -205,7 +205,7 @@ int main(int argc, char **argv)
>  	adjtimex(&tx1);
>  
>  	if (err)
> -		return ksft_exit_fail();
> +		ksft_exit_fail();
>  
> -	return ksft_exit_pass();
> +	ksft_exit_pass();
>  }
> diff --git a/tools/testing/selftests/timers/alarmtimer-suspend.c b/tools/testing/selftests/timers/alarmtimer-suspend.c
> index 4332b494103d..ad52e608b88e 100644
> --- a/tools/testing/selftests/timers/alarmtimer-suspend.c
> +++ b/tools/testing/selftests/timers/alarmtimer-suspend.c
> @@ -173,6 +173,6 @@ int main(void)
>  		timer_delete(tm1);
>  	}
>  	if (final_ret)
> -		return ksft_exit_fail();
> -	return ksft_exit_pass();
> +		ksft_exit_fail();
> +	ksft_exit_pass();
>  }
> diff --git a/tools/testing/selftests/timers/change_skew.c b/tools/testing/selftests/timers/change_skew.c
> index 992a77f2a74c..4421cd562c24 100644
> --- a/tools/testing/selftests/timers/change_skew.c
> +++ b/tools/testing/selftests/timers/change_skew.c
> @@ -89,8 +89,8 @@ int main(int argc, char **argv)
>  
>  	if (ret) {
>  		printf("[FAIL]");
> -		return ksft_exit_fail();
> +		ksft_exit_fail();
>  	}
>  	printf("[OK]");
> -	return ksft_exit_pass();
> +	ksft_exit_pass();
>  }
> diff --git a/tools/testing/selftests/timers/freq-step.c b/tools/testing/selftests/timers/freq-step.c
> index 4b76450d78d1..73b636f89fdc 100644
> --- a/tools/testing/selftests/timers/freq-step.c
> +++ b/tools/testing/selftests/timers/freq-step.c
> @@ -257,7 +257,7 @@ int main(int argc, char **argv)
>  	set_frequency(0.0);
>  
>  	if (fails)
> -		return ksft_exit_fail();
> +		ksft_exit_fail();
>  
> -	return ksft_exit_pass();
> +	ksft_exit_pass();
>  }
> diff --git a/tools/testing/selftests/timers/leap-a-day.c b/tools/testing/selftests/timers/leap-a-day.c
> index 23eb398c8140..986abbdb1521 100644
> --- a/tools/testing/selftests/timers/leap-a-day.c
> +++ b/tools/testing/selftests/timers/leap-a-day.c
> @@ -268,7 +268,7 @@ int main(int argc, char **argv)
>  		if (ret < 0) {
>  			printf("Error: Problem setting STA_INS/STA_DEL!: %s\n",
>  							time_state_str(ret));
> -			return ksft_exit_fail();
> +			ksft_exit_fail();
>  		}
>  
>  		/* Validate STA_INS was set */
> @@ -277,7 +277,7 @@ int main(int argc, char **argv)
>  		if (tx.status != STA_INS && tx.status != STA_DEL) {
>  			printf("Error: STA_INS/STA_DEL not set!: %s\n",
>  							time_state_str(ret));
> -			return ksft_exit_fail();
> +			ksft_exit_fail();
>  		}
>  
>  		if (tai_time) {
> @@ -295,7 +295,7 @@ int main(int argc, char **argv)
>  		se.sigev_value.sival_int = 0;
>  		if (timer_create(CLOCK_REALTIME, &se, &tm1) == -1) {
>  			printf("Error: timer_create failed\n");
> -			return ksft_exit_fail();
> +			ksft_exit_fail();
>  		}
>  		its1.it_value.tv_sec = next_leap;
>  		its1.it_value.tv_nsec = 0;
> @@ -366,7 +366,7 @@ int main(int argc, char **argv)
>  		if (error_found) {
>  			printf("Errors observed\n");
>  			clear_time_state();
> -			return ksft_exit_fail();
> +			ksft_exit_fail();
>  		}
>  		printf("\n");
>  		if ((iterations != -1) && !(--iterations))
> @@ -374,5 +374,5 @@ int main(int argc, char **argv)
>  	}
>  
>  	clear_time_state();
> -	return ksft_exit_pass();
> +	ksft_exit_pass();
>  }
> diff --git a/tools/testing/selftests/timers/leapcrash.c b/tools/testing/selftests/timers/leapcrash.c
> index f70802c5dd0d..8fd065eec904 100644
> --- a/tools/testing/selftests/timers/leapcrash.c
> +++ b/tools/testing/selftests/timers/leapcrash.c
> @@ -87,7 +87,7 @@ int main(void)
>  		tv.tv_usec = 0;
>  		if (settimeofday(&tv, NULL)) {
>  			printf("Error: You're likely not running with proper (ie: root) permissions\n");
> -			return ksft_exit_fail();
> +			ksft_exit_fail();
>  		}
>  		tx.modes = 0;
>  		adjtimex(&tx);
> @@ -104,5 +104,5 @@ int main(void)
>  		fflush(stdout);
>  	}
>  	printf("[OK]\n");
> -	return ksft_exit_pass();
> +	ksft_exit_pass();
>  }
> diff --git a/tools/testing/selftests/timers/mqueue-lat.c b/tools/testing/selftests/timers/mqueue-lat.c
> index 7916cf5cc6ff..f3179a605bba 100644
> --- a/tools/testing/selftests/timers/mqueue-lat.c
> +++ b/tools/testing/selftests/timers/mqueue-lat.c
> @@ -107,8 +107,8 @@ int main(int argc, char **argv)
>  	ret = mqueue_lat_test();
>  	if (ret < 0) {
>  		printf("[FAILED]\n");
> -		return ksft_exit_fail();
> +		ksft_exit_fail();
>  	}
>  	printf("[OK]\n");
> -	return ksft_exit_pass();
> +	ksft_exit_pass();
>  }
> diff --git a/tools/testing/selftests/timers/posix_timers.c b/tools/testing/selftests/timers/posix_timers.c
> index c001dd79179d..07c81c0093c0 100644
> --- a/tools/testing/selftests/timers/posix_timers.c
> +++ b/tools/testing/selftests/timers/posix_timers.c
> @@ -260,16 +260,16 @@ int main(int argc, char **argv)
>  	ksft_print_msg("based timers if other threads run on the CPU...\n");
>  
>  	if (check_itimer(ITIMER_VIRTUAL) < 0)
> -		return ksft_exit_fail();
> +		ksft_exit_fail();
>  
>  	if (check_itimer(ITIMER_PROF) < 0)
> -		return ksft_exit_fail();
> +		ksft_exit_fail();
>  
>  	if (check_itimer(ITIMER_REAL) < 0)
> -		return ksft_exit_fail();
> +		ksft_exit_fail();
>  
>  	if (check_timer_create(CLOCK_THREAD_CPUTIME_ID) < 0)
> -		return ksft_exit_fail();
> +		ksft_exit_fail();
>  
>  	/*
>  	 * It's unfortunately hard to reliably test a timer expiration
> @@ -281,10 +281,10 @@ int main(int argc, char **argv)
>  	 * find a better solution.
>  	 */
>  	if (check_timer_create(CLOCK_PROCESS_CPUTIME_ID) < 0)
> -		return ksft_exit_fail();
> +		ksft_exit_fail();
>  
>  	if (check_timer_distribution() < 0)
> -		return ksft_exit_fail();
> +		ksft_exit_fail();
>  
>  	ksft_finished();
>  }
> diff --git a/tools/testing/selftests/timers/raw_skew.c b/tools/testing/selftests/timers/raw_skew.c
> index 6eba203f9da7..030143eb09b4 100644
> --- a/tools/testing/selftests/timers/raw_skew.c
> +++ b/tools/testing/selftests/timers/raw_skew.c
> @@ -137,11 +137,11 @@ int main(int argc, char **argv)
>  		if (tx1.offset || tx2.offset ||
>  		    tx1.freq != tx2.freq || tx1.tick != tx2.tick) {
>  			printf("	[SKIP]\n");
> -			return ksft_exit_skip("The clock was adjusted externally. Shutdown NTPd or other time sync daemons\n");
> +			ksft_exit_skip("The clock was adjusted externally. Shutdown NTPd or other time sync daemons\n");
>  		}
>  		printf("	[FAILED]\n");
> -		return ksft_exit_fail();
> +		ksft_exit_fail();
>  	}
>  	printf("	[OK]\n");
> -	return  ksft_exit_pass();
> +	ksft_exit_pass();
>  }
> diff --git a/tools/testing/selftests/timers/set-2038.c b/tools/testing/selftests/timers/set-2038.c
> index 688cfd81b531..f7d978721b9e 100644
> --- a/tools/testing/selftests/timers/set-2038.c
> +++ b/tools/testing/selftests/timers/set-2038.c
> @@ -128,6 +128,6 @@ int main(int argc, char *argv[])
>  	/* restore clock */
>  	settime(start);
>  	if (ret)
> -		return ksft_exit_fail();
> -	return ksft_exit_pass();
> +		ksft_exit_fail();
> +	ksft_exit_pass();
>  }
> diff --git a/tools/testing/selftests/timers/set-tai.c b/tools/testing/selftests/timers/set-tai.c
> index 8c4179ee2ca2..5b67462efcd6 100644
> --- a/tools/testing/selftests/timers/set-tai.c
> +++ b/tools/testing/selftests/timers/set-tai.c
> @@ -61,9 +61,9 @@ int main(int argc, char **argv)
>  		ret = get_tai();
>  		if (ret != i) {
>  			printf("[FAILED] expected: %i got %i\n", i, ret);
> -			return ksft_exit_fail();
> +			ksft_exit_fail();
>  		}
>  	}
>  	printf("[OK]\n");
> -	return ksft_exit_pass();
> +	ksft_exit_pass();
>  }
> diff --git a/tools/testing/selftests/timers/set-timer-lat.c b/tools/testing/selftests/timers/set-timer-lat.c
> index 50da45437daa..7ce240c89b21 100644
> --- a/tools/testing/selftests/timers/set-timer-lat.c
> +++ b/tools/testing/selftests/timers/set-timer-lat.c
> @@ -278,6 +278,6 @@ int main(void)
>  		ret |= do_timer_oneshot(clock_id, 0);
>  	}
>  	if (ret)
> -		return ksft_exit_fail();
> -	return ksft_exit_pass();
> +		ksft_exit_fail();
> +	ksft_exit_pass();
>  }
> diff --git a/tools/testing/selftests/timers/set-tz.c b/tools/testing/selftests/timers/set-tz.c
> index 62bd33eb16f0..20daaf1782b7 100644
> --- a/tools/testing/selftests/timers/set-tz.c
> +++ b/tools/testing/selftests/timers/set-tz.c
> @@ -102,9 +102,9 @@ int main(int argc, char **argv)
>  	printf("[OK]\n");
>  
>  	set_tz(min, dst);
> -	return ksft_exit_pass();
> +	ksft_exit_pass();
>  
>  err:
>  	set_tz(min, dst);
> -	return ksft_exit_fail();
> +	ksft_exit_fail();
>  }
> diff --git a/tools/testing/selftests/timers/skew_consistency.c b/tools/testing/selftests/timers/skew_consistency.c
> index 63913f75b384..c8e6bffe4e0a 100644
> --- a/tools/testing/selftests/timers/skew_consistency.c
> +++ b/tools/testing/selftests/timers/skew_consistency.c
> @@ -70,8 +70,8 @@ int main(int argc, char **argv)
>  
>  	if (ret) {
>  		printf("[FAILED]\n");
> -		return ksft_exit_fail();
> +		ksft_exit_fail();
>  	}
>  	printf("[OK]\n");
> -	return ksft_exit_pass();
> +	ksft_exit_pass();
>  }
> diff --git a/tools/testing/selftests/timers/threadtest.c b/tools/testing/selftests/timers/threadtest.c
> index 80aed4bf06fb..76b38e41d9c7 100644
> --- a/tools/testing/selftests/timers/threadtest.c
> +++ b/tools/testing/selftests/timers/threadtest.c
> @@ -189,5 +189,5 @@ int main(int argc, char **argv)
>  	/* die */
>  	if (ret)
>  		ksft_exit_fail();
> -	return ksft_exit_pass();
> +	ksft_exit_pass();
>  }
> diff --git a/tools/testing/selftests/timers/valid-adjtimex.c b/tools/testing/selftests/timers/valid-adjtimex.c
> index d13ebde20322..d500884801d8 100644
> --- a/tools/testing/selftests/timers/valid-adjtimex.c
> +++ b/tools/testing/selftests/timers/valid-adjtimex.c
> @@ -320,10 +320,10 @@ int validate_set_offset(void)
>  int main(int argc, char **argv)
>  {
>  	if (validate_freq())
> -		return ksft_exit_fail();
> +		ksft_exit_fail();
>  
>  	if (validate_set_offset())
> -		return ksft_exit_fail();
> +		ksft_exit_fail();
>  
> -	return ksft_exit_pass();
> +	ksft_exit_pass();
>  }
> diff --git a/tools/testing/selftests/x86/lam.c b/tools/testing/selftests/x86/lam.c
> index 215b8150b7cc..820db4864292 100644
> --- a/tools/testing/selftests/x86/lam.c
> +++ b/tools/testing/selftests/x86/lam.c
> @@ -1237,5 +1237,5 @@ int main(int argc, char **argv)
>  
>  	ksft_set_plan(tests_cnt);
>  
> -	return ksft_exit_pass();
> +	ksft_exit_pass();
>  }
> 
> ---
> base-commit: 00ab560eb0e3f9725521c9fec2e8992e9e7e6c29
> change-id: 20240416-ksft-exit-int-to-void-5aa9db381379
> 
> Best regards,

-- 
BR,
Muhammad Usama Anjum

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ