aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/drivers/slip_user.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/um/drivers/slip_user.c')
-rw-r--r--arch/um/drivers/slip_user.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/arch/um/drivers/slip_user.c b/arch/um/drivers/slip_user.c
index 5f06204d6871..b8711e50da80 100644
--- a/arch/um/drivers/slip_user.c
+++ b/arch/um/drivers/slip_user.c
@@ -77,7 +77,7 @@ static int slip_tramp(char **argv, int fd)
77{ 77{
78 struct slip_pre_exec_data pe_data; 78 struct slip_pre_exec_data pe_data;
79 char *output; 79 char *output;
80 int status, pid, fds[2], err, output_len; 80 int pid, fds[2], err, output_len;
81 81
82 err = os_pipe(fds, 1, 0); 82 err = os_pipe(fds, 1, 0);
83 if (err < 0) { 83 if (err < 0) {
@@ -109,15 +109,7 @@ static int slip_tramp(char **argv, int fd)
109 read_output(fds[0], output, output_len); 109 read_output(fds[0], output, output_len);
110 printk("%s", output); 110 printk("%s", output);
111 111
112 CATCH_EINTR(err = waitpid(pid, &status, 0)); 112 err = helper_wait(pid, 0, argv[0]);
113 if (err < 0)
114 err = errno;
115 else if (!WIFEXITED(status) || (WEXITSTATUS(status) != 0)) {
116 printk(UM_KERN_ERR "'%s' didn't exit with status 0\n", argv[0]);
117 err = -EINVAL;
118 }
119 else err = 0;
120
121 close(fds[0]); 113 close(fds[0]);
122 114
123out_free: 115out_free: