diff mbox series

[V2,1/2] libs: sigwait: Fix compilation warning around sigprocmask()

Message ID 53c9ed8dc17ea6fa0b46502cd1c724a3a8539c8c.1595842740.git.viresh.kumar@linaro.org
State Changes Requested
Headers show
Series [V2,1/2] libs: sigwait: Fix compilation warning around sigprocmask() | expand

Commit Message

Viresh Kumar July 27, 2020, 9:40 a.m. UTC
Newer gcc generates following warnings currently:

sigwait.c: In function ‘test_masked_matching’:
sigwait.c:157:42: warning: passing argument 3 to restrict-qualified parameter aliases with argument 2 [-Wrestrict]
  157 |  TEST(sigprocmask(SIG_SETMASK, &oldmask, &oldmask));

Fix these by using different pointers for new and old masks.

Reported-by: Petr Vorel <pvorel@suse.cz>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
V2: New patch

 libs/libltpsigwait/sigwait.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

Comments

Cyril Hrubis July 28, 2020, 1:02 p.m. UTC | #1
Hi!
> sigwait.c: In function ???test_masked_matching???:
> sigwait.c:157:42: warning: passing argument 3 to restrict-qualified parameter aliases with argument 2 [-Wrestrict]
>   157 |  TEST(sigprocmask(SIG_SETMASK, &oldmask, &oldmask));
> 
> Fix these by using different pointers for new and old masks.
> 
> Reported-by: Petr Vorel <pvorel@suse.cz>
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
> V2: New patch
> 
>  libs/libltpsigwait/sigwait.c | 14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/libs/libltpsigwait/sigwait.c b/libs/libltpsigwait/sigwait.c
> index dbd33a61f2b1..0a34e6cc3deb 100644
> --- a/libs/libltpsigwait/sigwait.c
> +++ b/libs/libltpsigwait/sigwait.c
> @@ -156,11 +156,11 @@ void test_masked_matching(swi_func sigwaitinfo, int signo,
>  			    && si.si_code == SI_USER
>  			    && si.si_signo == signo, "Struct siginfo mismatch");
>  
> -	TEST(sigprocmask(SIG_SETMASK, &oldmask, &oldmask));
> +	TEST(sigprocmask(SIG_SETMASK, &sigs, &oldmask));
>  	if (TST_RET == -1)
>  		tst_brk(TBROK | TTERRNO, "restoring original signal mask failed");

It says "restoring the original signal mask" so shouldn't that be
sigprocmask(SIG_SETMASK, &oldmask, &sigs) ?

> -	if (sigismember(&oldmask, signo))
> +	if (sigismember(&sigs, signo))
>  		tst_res(TPASS, "sigwaitinfo restored the original mask");
>  	else
>  		tst_res(TFAIL,
> @@ -214,11 +214,11 @@ void test_masked_matching_rt(swi_func sigwaitinfo, int signo,
>  			    && si.si_signo == signo + 1,
>  			    "Struct siginfo mismatch");
>  
> -	TEST(sigprocmask(SIG_SETMASK, &oldmask, &oldmask));
> +	TEST(sigprocmask(SIG_SETMASK, &sigs, &oldmask));
>  	if (TST_RET == -1)
>  		tst_brk(TBROK | TTERRNO, "restoring original signal mask failed");
>  
> -	if (sigismember(&oldmask, signo))
> +	if (sigismember(&sigs, signo))
>  		tst_res(TPASS, "sigwaitinfo restored the original mask");
>  	else
>  		tst_res(TFAIL,
> @@ -250,11 +250,11 @@ void test_masked_matching_noinfo(swi_func sigwaitinfo, int signo,
>  	TEST(sigwaitinfo(&sigs, NULL, NULL));
>  	REPORT_SUCCESS(signo, 0);
>  
> -	TEST(sigprocmask(SIG_SETMASK, &oldmask, &oldmask));
> +	TEST(sigprocmask(SIG_SETMASK, &sigs, &oldmask));
>  	if (TST_RET == -1)
>  		tst_brk(TBROK | TTERRNO, "restoring original signal mask failed");

Here as well?

> -	if (sigismember(&oldmask, signo))
> +	if (sigismember(&sigs, signo))
>  		tst_res(TPASS, "sigwaitinfo restored the original mask");
>  	else
>  		tst_res(TFAIL,
> @@ -289,7 +289,7 @@ void test_bad_address(swi_func sigwaitinfo, int signo,
>  	TEST(sigwaitinfo(&sigs, (void *)1, NULL));
>  	REPORT_SUCCESS(-1, EFAULT);
>  
> -	TEST(sigprocmask(SIG_SETMASK, &oldmask, &oldmask));
> +	TEST(sigprocmask(SIG_SETMASK, &sigs, &oldmask));
>  	if (TST_RET == -1)
>  		tst_brk(TBROK | TTERRNO, "sigprocmask() failed");

And here?
diff mbox series

Patch

diff --git a/libs/libltpsigwait/sigwait.c b/libs/libltpsigwait/sigwait.c
index dbd33a61f2b1..0a34e6cc3deb 100644
--- a/libs/libltpsigwait/sigwait.c
+++ b/libs/libltpsigwait/sigwait.c
@@ -156,11 +156,11 @@  void test_masked_matching(swi_func sigwaitinfo, int signo,
 			    && si.si_code == SI_USER
 			    && si.si_signo == signo, "Struct siginfo mismatch");
 
-	TEST(sigprocmask(SIG_SETMASK, &oldmask, &oldmask));
+	TEST(sigprocmask(SIG_SETMASK, &sigs, &oldmask));
 	if (TST_RET == -1)
 		tst_brk(TBROK | TTERRNO, "restoring original signal mask failed");
 
-	if (sigismember(&oldmask, signo))
+	if (sigismember(&sigs, signo))
 		tst_res(TPASS, "sigwaitinfo restored the original mask");
 	else
 		tst_res(TFAIL,
@@ -214,11 +214,11 @@  void test_masked_matching_rt(swi_func sigwaitinfo, int signo,
 			    && si.si_signo == signo + 1,
 			    "Struct siginfo mismatch");
 
-	TEST(sigprocmask(SIG_SETMASK, &oldmask, &oldmask));
+	TEST(sigprocmask(SIG_SETMASK, &sigs, &oldmask));
 	if (TST_RET == -1)
 		tst_brk(TBROK | TTERRNO, "restoring original signal mask failed");
 
-	if (sigismember(&oldmask, signo))
+	if (sigismember(&sigs, signo))
 		tst_res(TPASS, "sigwaitinfo restored the original mask");
 	else
 		tst_res(TFAIL,
@@ -250,11 +250,11 @@  void test_masked_matching_noinfo(swi_func sigwaitinfo, int signo,
 	TEST(sigwaitinfo(&sigs, NULL, NULL));
 	REPORT_SUCCESS(signo, 0);
 
-	TEST(sigprocmask(SIG_SETMASK, &oldmask, &oldmask));
+	TEST(sigprocmask(SIG_SETMASK, &sigs, &oldmask));
 	if (TST_RET == -1)
 		tst_brk(TBROK | TTERRNO, "restoring original signal mask failed");
 
-	if (sigismember(&oldmask, signo))
+	if (sigismember(&sigs, signo))
 		tst_res(TPASS, "sigwaitinfo restored the original mask");
 	else
 		tst_res(TFAIL,
@@ -289,7 +289,7 @@  void test_bad_address(swi_func sigwaitinfo, int signo,
 	TEST(sigwaitinfo(&sigs, (void *)1, NULL));
 	REPORT_SUCCESS(-1, EFAULT);
 
-	TEST(sigprocmask(SIG_SETMASK, &oldmask, &oldmask));
+	TEST(sigprocmask(SIG_SETMASK, &sigs, &oldmask));
 	if (TST_RET == -1)
 		tst_brk(TBROK | TTERRNO, "sigprocmask() failed");