Skip to contentSkip to conversation

syscalls/rt_sigsuspend01: ignore reserved signals

PATCH New Steve Muckle 2 participants 4 messages Nov 9, 2018 – Nov 13, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/2 syscalls/rt_sigsuspend01: ignore reserved signals

Some signals may be internally used by the C library. Do not attempt to verify these.

Change-Id: Ia5b8148c9273b9d13001b07824e9d55680382519

---
 .../syscalls/rt_sigsuspend/rt_sigsuspend01.c      | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)
testcases/kernel/syscalls/rt_sigsuspend/rt_sigsuspend01.c +9 -6
index c8c228a47..edc913b44 100644
@@ -87,19 +87,22 @@ int main(int ac, char **av)
 			SIGSETSIZE));
 		TEST(alarm(0));
 		if (result == -1 && TEST_ERRNO != EINTR) {
+			int i;
 			TEST(ltp_syscall(__NR_rt_sigprocmask, SIG_UNBLOCK, 0,
 				&set2, SIGSETSIZE));
-			if (TEST_RETURN == -1) {
+			if (TEST_RETURN == -1)
 				tst_brkm(TFAIL | TTERRNO, cleanup,
 					 "rt_sigprocmask failed");
-			} else if (memcmp(&set1, &set2,
-				   sizeof(unsigned long))) {
-				tst_brkm(TFAIL | TTERRNO, cleanup,
+			for (i = 1; i < SIGRTMAX; i++) {
+				if (i >= __SIGRTMIN && i < SIGRTMIN)
+					continue;
+				if (sigismember(&set1, i) !=
+				    sigismember(&set2, i))
+					tst_brkm(TFAIL | TTERRNO, cleanup,
 					 "rt_sigsuspend failed to "
 					 "preserve signal mask");
-			} else {
-				tst_resm(TPASS, "rt_sigsuspend PASSED");
 			}
+			tst_resm(TPASS, "rt_sigsuspend PASSED");
 		} else {
 			tst_resm(TFAIL | TTERRNO, "rt_sigsuspend failed");
 		}
Signature · 1 line
2.19.1.930.g4563a0d9d0-goog
#1 lore raw

PATCH 2/2 syscalls/sighold02: ignore reserved signals

Some signals may be internally used by the C library. Do not attempt to verify these.

Change-Id: If5a6a9bd7bbeceacde6904393c7452d927fa7522

---
 testcases/kernel/syscalls/sighold/sighold02.c | 19 +++----------------
 1 file changed, 3 insertions(+), 16 deletions(-)
testcases/kernel/syscalls/sighold/sighold02.c +3 -16
index fdd0e736d..d1d4b0b06 100644
@@ -55,16 +55,6 @@
 # define NSIG _NSIG
 #endif
 
-/* Needed for NPTL */
-#define SIGCANCEL 32
-#define SIGTIMER 33
-
-/* Reserved in Android's bionic libc */
-#ifdef __ANDROID__
-# define SIGLIBCORE 34
-# define SIGDEBUGGERD 35
-#endif
-
 /* ensure NUMSIGS is defined */
 #ifndef NUMSIGS
 # define NUMSIGS NSIG
@@ -83,17 +73,14 @@ static int sigs_map[NUMSIGS];
 
 static int skip_sig(int sig)
 {
+	if (sig >= __SIGRTMIN && sig < SIGRTMIN)
+		return 1;
+
 	switch (sig) {
 	case SIGCHLD:
 	case SIGKILL:
 	case SIGALRM:
 	case SIGSTOP:
-	case SIGCANCEL:
-	case SIGTIMER:
-#ifdef __ANDROID__
-	case SIGLIBCORE:
-	case SIGDEBUGGERD:
-#endif
 		return 1;
 	default:
 		return 0;
Signature · 1 line
2.19.1.930.g4563a0d9d0-goog
#2 lore raw

PATCH 2/2 syscalls/sighold02: ignore reserved signals

Hi!

Quoted 2 lines

Some signals may be internally used by the C library. Do not attempt to verify these.

This is a nice cleanup, applied, thanks.

Quoted 1 line

Change-Id: If5a6a9bd7bbeceacde6904393c7452d927fa7522

I've removed this tag and added your Signed-off-by here.

Signature · 2 lines
Cyril Hrubis
[email protected]
#3 lore raw

PATCH 1/2 syscalls/rt_sigsuspend01: ignore reserved signals

In reply to Steve Muckle

Hi!
Looking at the test code it's complete mess, there is quite a lot useless code as well. Let me clean up that first, I will do that today, then we can fix it.

Signature · 2 lines
Cyril Hrubis
[email protected]