selftests: Refactor 'peeksiginfo' ptrace test part
authorIvan Orlov <ivan.orlov0322@gmail.com>
Mon, 20 Feb 2023 16:03:02 +0000 (19:03 +0300)
committerShuah Khan <skhan@linuxfoundation.org>
Tue, 28 Mar 2023 16:23:45 +0000 (10:23 -0600)
peeksiginfo creates an array of 10 instances of 'siginfo_t',
but actually uses only one. This patch will reduce amount
of memory on the stack used by the peeksiginfo test.

Signed-off-by: Ivan Orlov <ivan.orlov0322@gmail.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
tools/testing/selftests/ptrace/peeksiginfo.c

index 54900657eb442f81835e7e7c8f1647f8bedceb2d..a6884f66dc0130b5970544065a28745e73a26cc1 100644 (file)
@@ -151,7 +151,7 @@ out:
 
 int main(int argc, char *argv[])
 {
-       siginfo_t siginfo[SIGNR];
+       siginfo_t siginfo;
        int i, exit_code = 1;
        sigset_t blockmask;
        pid_t child;
@@ -176,13 +176,13 @@ int main(int argc, char *argv[])
 
        /* Send signals in process-wide and per-thread queues */
        for (i = 0; i < SIGNR; i++) {
-               siginfo->si_code = TEST_SICODE_SHARE;
-               siginfo->si_int = i;
-               sys_rt_sigqueueinfo(child, SIGRTMIN, siginfo);
+               siginfo.si_code = TEST_SICODE_SHARE;
+               siginfo.si_int = i;
+               sys_rt_sigqueueinfo(child, SIGRTMIN, &siginfo);
 
-               siginfo->si_code = TEST_SICODE_PRIV;
-               siginfo->si_int = i;
-               sys_rt_tgsigqueueinfo(child, child, SIGRTMIN, siginfo);
+               siginfo.si_code = TEST_SICODE_PRIV;
+               siginfo.si_int = i;
+               sys_rt_tgsigqueueinfo(child, child, SIGRTMIN, &siginfo);
        }
 
        if (sys_ptrace(PTRACE_ATTACH, child, NULL, NULL) == -1)