diff mbox series

[2/2] tests/tcg/linux-test: Check that sigaction can query SIGKILL/SIGSTOP

Message ID 20210601145600.3131040-3-iii@linux.ibm.com
State New
Headers show
Series linux-user: Let sigaction query SIGKILL/SIGSTOP | expand

Commit Message

Ilya Leoshkevich June 1, 2021, 2:56 p.m. UTC
Verify that querying is allowed, but making changes isn't.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
---
 tests/tcg/multiarch/linux-test.c | 9 +++++++++
 1 file changed, 9 insertions(+)

Comments

Laurent Vivier June 20, 2021, 2:26 p.m. UTC | #1
Le 01/06/2021 à 16:56, Ilya Leoshkevich a écrit :
> Verify that querying is allowed, but making changes isn't.
> 
> Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
> ---
>  tests/tcg/multiarch/linux-test.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/tests/tcg/multiarch/linux-test.c b/tests/tcg/multiarch/linux-test.c
> index ce033c21c7..cd9d8159bc 100644
> --- a/tests/tcg/multiarch/linux-test.c
> +++ b/tests/tcg/multiarch/linux-test.c
> @@ -496,6 +496,15 @@ static void test_signal(void)
>      sigemptyset(&act.sa_mask);
>      act.sa_flags = 0;
>      chk_error(sigaction(SIGSEGV, &act, NULL));
> +
> +    if (sigaction(SIGKILL, &act, NULL) == 0) {
> +        error("sigaction(SIGKILL, &act, NULL) must not succeed");
> +    }
> +    if (sigaction(SIGSTOP, &act, NULL) == 0) {
> +        error("sigaction(SIGSTOP, &act, NULL) must not succeed");
> +    }
> +    chk_error(sigaction(SIGKILL, NULL, &act));
> +    chk_error(sigaction(SIGSTOP, NULL, &act));
>  }
>  
>  #define SHM_SIZE 32768
> 

Reviewed-by: Laurent Vivier <laurent@vivier.eu>

Alex, I will merge this via linux-user, is it ok for you?

Thanks,
Laurent
Laurent Vivier June 20, 2021, 2:27 p.m. UTC | #2
Le 01/06/2021 à 16:56, Ilya Leoshkevich a écrit :
> Verify that querying is allowed, but making changes isn't.
> 
> Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
> ---
>  tests/tcg/multiarch/linux-test.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/tests/tcg/multiarch/linux-test.c b/tests/tcg/multiarch/linux-test.c
> index ce033c21c7..cd9d8159bc 100644
> --- a/tests/tcg/multiarch/linux-test.c
> +++ b/tests/tcg/multiarch/linux-test.c
> @@ -496,6 +496,15 @@ static void test_signal(void)
>      sigemptyset(&act.sa_mask);
>      act.sa_flags = 0;
>      chk_error(sigaction(SIGSEGV, &act, NULL));
> +
> +    if (sigaction(SIGKILL, &act, NULL) == 0) {
> +        error("sigaction(SIGKILL, &act, NULL) must not succeed");
> +    }
> +    if (sigaction(SIGSTOP, &act, NULL) == 0) {
> +        error("sigaction(SIGSTOP, &act, NULL) must not succeed");
> +    }
> +    chk_error(sigaction(SIGKILL, NULL, &act));
> +    chk_error(sigaction(SIGSTOP, NULL, &act));
>  }
>  
>  #define SHM_SIZE 32768
> 

Applied to my linux-user-for-6.1 branch.

Thanks,
Laurent
diff mbox series

Patch

diff --git a/tests/tcg/multiarch/linux-test.c b/tests/tcg/multiarch/linux-test.c
index ce033c21c7..cd9d8159bc 100644
--- a/tests/tcg/multiarch/linux-test.c
+++ b/tests/tcg/multiarch/linux-test.c
@@ -496,6 +496,15 @@  static void test_signal(void)
     sigemptyset(&act.sa_mask);
     act.sa_flags = 0;
     chk_error(sigaction(SIGSEGV, &act, NULL));
+
+    if (sigaction(SIGKILL, &act, NULL) == 0) {
+        error("sigaction(SIGKILL, &act, NULL) must not succeed");
+    }
+    if (sigaction(SIGSTOP, &act, NULL) == 0) {
+        error("sigaction(SIGSTOP, &act, NULL) must not succeed");
+    }
+    chk_error(sigaction(SIGKILL, NULL, &act));
+    chk_error(sigaction(SIGSTOP, NULL, &act));
 }
 
 #define SHM_SIZE 32768