[CRIU] [PATCH 5/7] zdtm/test: add infop to waitid()
Tycho Andersen
tycho.andersen at canonical.com
Mon Jan 9 22:27:20 PST 2017
On Mon, Jan 09, 2017 at 08:19:10PM +0300, Dmitry Safonov wrote:
> The man page says, it's not optional argument:
> The application shall ensure that the infop argument
> points to a siginfo_t structure.
>
> Fixes:
> Test output: ================================
> 17:40:26.128: 5: FAIL: helper_zombie_child.c:33: waitid (errno = 14 (Bad address))
> 17:40:26.128: 4: FAIL: helper_zombie_child.c:78: read (errno = 2 (No such file or directory))
> 17:40:26.129: 3: ERR: test.c:229: Test exited unexpectedly with code 1
>
> Test output: ================================
> 15:30:49.021: 30: ERR: sigpending.c:213: waitid (errno = 14 (Bad address))
> 15:30:49.021: 29: ERR: test.c:229: Test exited unexpectedly with code 1
>
> and etc.
>
> Signed-off-by: Dmitry Safonov <dsafonov at virtuozzo.com>
Acked-by: Tycho Andersen <tycho.andersen at canonical.com>
> ---
> test/zdtm/static/helper_zombie_child.c | 3 ++-
> test/zdtm/static/sigpending.c | 3 ++-
> test/zdtm/static/stopped.c | 3 ++-
> 3 files changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/test/zdtm/static/helper_zombie_child.c b/test/zdtm/static/helper_zombie_child.c
> index 18227189bdf9..1e6b4bda7117 100644
> --- a/test/zdtm/static/helper_zombie_child.c
> +++ b/test/zdtm/static/helper_zombie_child.c
> @@ -16,6 +16,7 @@ const char *test_author = "Tycho Andersen <tycho.andersen at canonical.com>";
>
> void setsid_and_fork(int sk)
> {
> + siginfo_t infop;
> pid_t zombie;
>
> setsid();
> @@ -29,7 +30,7 @@ void setsid_and_fork(int sk)
> if (zombie == 0)
> exit(0);
>
> - if (waitid(P_PID, zombie, NULL, WNOWAIT | WEXITED) < 0) {
> + if (waitid(P_PID, zombie, &infop, WNOWAIT | WEXITED) < 0) {
> fail("waitid");
> exit(1);
> }
> diff --git a/test/zdtm/static/sigpending.c b/test/zdtm/static/sigpending.c
> index 2a4abfba024c..d1dbd251daed 100644
> --- a/test/zdtm/static/sigpending.c
> +++ b/test/zdtm/static/sigpending.c
> @@ -170,6 +170,7 @@ int main(int argc, char ** argv)
> sigset_t blockmask, oldset, newset;
> struct sigaction act;
> pthread_t pthrd;
> + siginfo_t infop;
> int i;
>
> memset(&oldset, 0, sizeof(oldset));
> @@ -209,7 +210,7 @@ int main(int argc, char ** argv)
>
> if(child == 0)
> return 5; /* SIGCHLD */
> - if (waitid(P_PID, child, NULL, WNOWAIT | WEXITED)) {
> + if (waitid(P_PID, child, &infop, WNOWAIT | WEXITED)) {
> pr_perror("waitid");
> return 1;
> }
> diff --git a/test/zdtm/static/stopped.c b/test/zdtm/static/stopped.c
> index af5780793dd2..9bb849363aaf 100644
> --- a/test/zdtm/static/stopped.c
> +++ b/test/zdtm/static/stopped.c
> @@ -13,6 +13,7 @@ const char *test_author = "Andrew Vagin <avagin at parallels.com>";
> int main(int argc, char **argv)
> {
> pid_t pid;
> + siginfo_t infop;
> int p[2], ret, status;
>
> test_init(argc, argv);
> @@ -40,7 +41,7 @@ int main(int argc, char **argv)
> close(p[0]);
>
> kill(pid, SIGSTOP);
> - if (waitid(P_PID, pid, NULL, WNOWAIT | WSTOPPED) < 0) {
> + if (waitid(P_PID, pid, &infop, WNOWAIT | WSTOPPED) < 0) {
> pr_perror("waitid");
> return 1;
> }
> --
> 2.11.0
>
> _______________________________________________
> CRIU mailing list
> CRIU at openvz.org
> https://lists.openvz.org/mailman/listinfo/criu
More information about the CRIU
mailing list