[LTP] [PATCH] syscalls/waitid10: Fix on ARM, PPC and possibly others
Cyril Hrubis
chrubis@suse.cz
Thu Mar 10 11:58:20 CET 2022
Hi!
> While integer division by zero does trap on x86_64 and causes the SIGFPE
> signal to be delivered it's not the case on all architecutes. At least
> on ARM and PPC64LE division by zero simply returns undefined result
> instead.
>
> This patch adds raise(SIGFPE) at the end of the child as a fallback to
> make sure the process is killed with the right signal on all
> architectures.
>
> Signed-off-by: Cyril Hrubis <chrubis@suse.cz>
> ---
> testcases/kernel/syscalls/waitid/waitid10.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/testcases/kernel/syscalls/waitid/waitid10.c b/testcases/kernel/syscalls/waitid/waitid10.c
> index 869ef18bd..8c351d120 100644
> --- a/testcases/kernel/syscalls/waitid/waitid10.c
> +++ b/testcases/kernel/syscalls/waitid/waitid10.c
> @@ -28,7 +28,10 @@ static void run(void)
> volatile int a, zero = 0;
>
> a = 1 / zero;
> - exit(a);
> +
> + tst_res(TINFO, "Division by zero didn't trap, raising SIGFPE");
This patch inroduces 'set but not used' warning for the a variable so
maybe the message should look like:
tst_res(TINFO, "1/0 = %i raising SIGFPE", a);
> + raise(SIGFPE);
> }
>
> TST_EXP_PASS(waitid(P_ALL, 0, infop, WEXITED));
> --
> 2.34.1
>
>
> --
> Mailing list info: https://lists.linux.it/listinfo/ltp
--
Cyril Hrubis
chrubis@suse.cz
More information about the ltp
mailing list