From: <ch...@su...> - 2013-09-26 11:08:48
|
Hi! > The cleanup() may be called twice by both the parent and child process > in this testcase leading to a failure. > > This patch makes sure cleanup() is called only once by parent process. > > Signed-off-by: Zeng Linggang <zen...@cn...> > Signed-off-by: Ma Shimiao <mas...@cn...> > --- > testcases/kernel/syscalls/setuid/setuid04.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/testcases/kernel/syscalls/setuid/setuid04.c > b/testcases/kernel/syscalls/setuid/setuid04.c > index d8e991e..365859b 100644 > --- a/testcases/kernel/syscalls/setuid/setuid04.c > +++ b/testcases/kernel/syscalls/setuid/setuid04.c > @@ -88,7 +88,7 @@ static void do_master_child(void) > int pid; > int status; > > - if (SETUID(cleanup, ltpuser->pw_uid) == -1) { > + if (SETUID(NULL, ltpuser->pw_uid) == -1) { > tst_brkm(TBROK, NULL, > "setuid failed to set the effective uid to %d", > ltpuser->pw_uid); This one is much better. Applied, thanks. (The patch failed to apply and needed to be redone by hand.) BTW: It would be better to remove all the tst_* interface from the function that runs in the child and use printf() + exit() instead. (In order to avoid bugs like this one) -- Cyril Hrubis ch...@su... |