[LTP] [COMMITTED PATCH] pipeio: avoid SAFE macros in cleanup()
Jan Stancek
jstancek@redhat.com
Mon May 22 09:47:27 CEST 2017
Only newlib testcases support SAFE macros in cleanup().
When SAFE_UNLINK fails, it creates infinite loop between
tst_brk_ and cleanup:
#0 tst_res__ at tst_res.c:153
#1 0x0000000000407ba8 in tst_brk__ at tst_res.c:480
#2 0x00000000004081fe in tst_brkm_ at tst_res.c:577
#3 0x000000000040a7c9 in safe_unlink at safe_macros.c:358
#4 0x0000000000404abd in cleanup () at pipeio.c:497
#5 0x0000000000407bc7 in tst_brk__ at tst_res.c:498
#6 0x00000000004081fe in tst_brkm_ at tst_res.c:577
#7 0x000000000040c1d6 in def_handler at tst_sig.c:231
#8 <signal handler called>
#9 0x00007f29c2cbd1f7 in __GI_raise at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#10 0x00007f29c2cbe8e8 in __GI_abort () at abort.c:90
#11 0x00000000004081af in tst_brkm_ at tst_res.c:581
#12 0x000000000040a7c9 in safe_unlink at safe_macros.c:358
#13 0x0000000000404abd in cleanup () at pipeio.c:497
#14 0x0000000000407bc7 in tst_brk__ at tst_res.c:498
#15 0x00000000004081fe in tst_brkm_ at tst_res.c:577
#16 0x000000000040c1d6 in def_handler at tst_sig.c:231
#17 <signal handler called>
#18 0x00007f29c2cbd1f7 in __GI_raise at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#19 0x00007f29c2cbe8e8 in __GI_abort () at abort.c:90
#20 0x00000000004081af in tst_brkm_ at tst_res.c:581
#21 0x000000000040a7c9 in safe_unlink at safe_macros.c:358
#22 0x0000000000404abd in cleanup () at pipeio.c:497
...
Signed-off-by: Jan Stancek <jstancek@redhat.com>
---
testcases/kernel/ipc/pipeio/pipeio.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/testcases/kernel/ipc/pipeio/pipeio.c b/testcases/kernel/ipc/pipeio/pipeio.c
index 8426fb0e6b53..5aa082fd579b 100644
--- a/testcases/kernel/ipc/pipeio/pipeio.c
+++ b/testcases/kernel/ipc/pipeio/pipeio.c
@@ -494,7 +494,7 @@ static void cleanup(void)
semctl(sem_id, 0, IPC_RMID);
if (!unpipe)
- SAFE_UNLINK(NULL, pname);
+ unlink(pname);
tst_rmdir();
}
--
1.8.3.1
More information about the ltp
mailing list