aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/os-Linux/helper.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/um/os-Linux/helper.c')
-rw-r--r--arch/um/os-Linux/helper.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/um/os-Linux/helper.c b/arch/um/os-Linux/helper.c
index 2184ddb9cb31..8a4c9e47326c 100644
--- a/arch/um/os-Linux/helper.c
+++ b/arch/um/os-Linux/helper.c
@@ -34,7 +34,8 @@ static int helper_child(void *arg)
34 if (data->pre_exec != NULL) 34 if (data->pre_exec != NULL)
35 (*data->pre_exec)(data->pre_data); 35 (*data->pre_exec)(data->pre_data);
36 errval = execvp_noalloc(data->buf, argv[0], argv); 36 errval = execvp_noalloc(data->buf, argv[0], argv);
37 printk("helper_child - execvp of '%s' failed - errno = %d\n", argv[0], -errval); 37 printk("helper_child - execvp of '%s' failed - errno = %d\n", argv[0],
38 -errval);
38 os_write_file(data->fd, &errval, sizeof(errval)); 39 os_write_file(data->fd, &errval, sizeof(errval));
39 kill(os_getpid(), SIGKILL); 40 kill(os_getpid(), SIGKILL);
40 return 0; 41 return 0;
@@ -87,8 +88,10 @@ int run_helper(void (*pre_exec)(void *), void *pre_data, char **argv,
87 close(fds[1]); 88 close(fds[1]);
88 fds[1] = -1; 89 fds[1] = -1;
89 90
90 /* Read the errno value from the child, if the exec failed, or get 0 if 91 /*
91 * the exec succeeded because the pipe fd was set as close-on-exec. */ 92 * Read the errno value from the child, if the exec failed, or get 0 if
93 * the exec succeeded because the pipe fd was set as close-on-exec.
94 */
92 n = os_read_file(fds[0], &ret, sizeof(ret)); 95 n = os_read_file(fds[0], &ret, sizeof(ret));
93 if (n == 0) { 96 if (n == 0) {
94 ret = pid; 97 ret = pid;