diff options
author | Jeff Dike <jdike@addtoit.com> | 2007-07-16 02:38:56 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-16 12:05:38 -0400 |
commit | c43990162fc7f9d2f15a12797fdc6f9c0905f704 (patch) | |
tree | 64f8b776c4807da48971f3c24ca157c5e6ab921f /arch/um/drivers | |
parent | 42a359e31a0e438b5b978a8f0fecdbd3c86bb033 (diff) |
uml: simplify helper stack handling
run_helper and run_helper_thread had arguments which were the same in all
callers. run_helper's stack_out was always NULL and run_helper_thread's
stack_order was always 0. These are now gone, and the constants folded
into the code.
Also fixed leaks of the helper stack in the AIO and SIGIO code.
Signed-off-by: Jeff Dike <jdike@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/um/drivers')
-rw-r--r-- | arch/um/drivers/chan_user.c | 2 | ||||
-rw-r--r-- | arch/um/drivers/harddog_user.c | 2 | ||||
-rw-r--r-- | arch/um/drivers/net_user.c | 2 | ||||
-rw-r--r-- | arch/um/drivers/port_user.c | 2 | ||||
-rw-r--r-- | arch/um/drivers/slip_user.c | 2 | ||||
-rw-r--r-- | arch/um/drivers/slirp_user.c | 2 | ||||
-rw-r--r-- | arch/um/drivers/xterm.c | 2 |
7 files changed, 7 insertions, 7 deletions
diff --git a/arch/um/drivers/chan_user.c b/arch/um/drivers/chan_user.c index 8b81bd5f20f2..4d438f36ea2e 100644 --- a/arch/um/drivers/chan_user.c +++ b/arch/um/drivers/chan_user.c | |||
@@ -161,7 +161,7 @@ static int winch_tramp(int fd, struct tty_struct *tty, int *fd_out, | |||
161 | * problem with /dev/net/tun, which if held open by this | 161 | * problem with /dev/net/tun, which if held open by this |
162 | * thread, prevents the TUN/TAP device from being reused. | 162 | * thread, prevents the TUN/TAP device from being reused. |
163 | */ | 163 | */ |
164 | err = run_helper_thread(winch_thread, &data, CLONE_FILES, stack_out, 0); | 164 | err = run_helper_thread(winch_thread, &data, CLONE_FILES, stack_out); |
165 | if(err < 0){ | 165 | if(err < 0){ |
166 | printk("fork of winch_thread failed - errno = %d\n", -err); | 166 | printk("fork of winch_thread failed - errno = %d\n", -err); |
167 | goto out_close; | 167 | goto out_close; |
diff --git a/arch/um/drivers/harddog_user.c b/arch/um/drivers/harddog_user.c index 5eeecf8917c3..1171790f742c 100644 --- a/arch/um/drivers/harddog_user.c +++ b/arch/um/drivers/harddog_user.c | |||
@@ -68,7 +68,7 @@ int start_watchdog(int *in_fd_ret, int *out_fd_ret, char *sock) | |||
68 | args = pid_args; | 68 | args = pid_args; |
69 | } | 69 | } |
70 | 70 | ||
71 | pid = run_helper(pre_exec, &data, args, NULL); | 71 | pid = run_helper(pre_exec, &data, args); |
72 | 72 | ||
73 | os_close_file(out_fds[0]); | 73 | os_close_file(out_fds[0]); |
74 | os_close_file(in_fds[1]); | 74 | os_close_file(in_fds[1]); |
diff --git a/arch/um/drivers/net_user.c b/arch/um/drivers/net_user.c index 3503cff867c3..6fa948ba969d 100644 --- a/arch/um/drivers/net_user.c +++ b/arch/um/drivers/net_user.c | |||
@@ -187,7 +187,7 @@ static int change_tramp(char **argv, char *output, int output_len) | |||
187 | } | 187 | } |
188 | pe_data.close_me = fds[0]; | 188 | pe_data.close_me = fds[0]; |
189 | pe_data.stdout = fds[1]; | 189 | pe_data.stdout = fds[1]; |
190 | pid = run_helper(change_pre_exec, &pe_data, argv, NULL); | 190 | pid = run_helper(change_pre_exec, &pe_data, argv); |
191 | 191 | ||
192 | if (pid > 0) /* Avoid hang as we won't get data in failure case. */ | 192 | if (pid > 0) /* Avoid hang as we won't get data in failure case. */ |
193 | read_output(fds[0], output, output_len); | 193 | read_output(fds[0], output, output_len); |
diff --git a/arch/um/drivers/port_user.c b/arch/um/drivers/port_user.c index 3f6357d24bee..29250beba429 100644 --- a/arch/um/drivers/port_user.c +++ b/arch/um/drivers/port_user.c | |||
@@ -188,7 +188,7 @@ int port_connection(int fd, int *socket, int *pid_out) | |||
188 | { .sock_fd = new, | 188 | { .sock_fd = new, |
189 | .pipe_fd = socket[1] }); | 189 | .pipe_fd = socket[1] }); |
190 | 190 | ||
191 | err = run_helper(port_pre_exec, &data, argv, NULL); | 191 | err = run_helper(port_pre_exec, &data, argv); |
192 | if(err < 0) | 192 | if(err < 0) |
193 | goto out_shutdown; | 193 | goto out_shutdown; |
194 | 194 | ||
diff --git a/arch/um/drivers/slip_user.c b/arch/um/drivers/slip_user.c index 78f0e515da8f..edc2de3ee2f4 100644 --- a/arch/um/drivers/slip_user.c +++ b/arch/um/drivers/slip_user.c | |||
@@ -85,7 +85,7 @@ static int slip_tramp(char **argv, int fd) | |||
85 | pe_data.stdin = fd; | 85 | pe_data.stdin = fd; |
86 | pe_data.stdout = fds[1]; | 86 | pe_data.stdout = fds[1]; |
87 | pe_data.close_me = fds[0]; | 87 | pe_data.close_me = fds[0]; |
88 | err = run_helper(slip_pre_exec, &pe_data, argv, NULL); | 88 | err = run_helper(slip_pre_exec, &pe_data, argv); |
89 | if(err < 0) | 89 | if(err < 0) |
90 | goto out_close; | 90 | goto out_close; |
91 | pid = err; | 91 | pid = err; |
diff --git a/arch/um/drivers/slirp_user.c b/arch/um/drivers/slirp_user.c index 39f889fe9949..0e462f64f227 100644 --- a/arch/um/drivers/slirp_user.c +++ b/arch/um/drivers/slirp_user.c | |||
@@ -42,7 +42,7 @@ static int slirp_tramp(char **argv, int fd) | |||
42 | 42 | ||
43 | pe_data.stdin = fd; | 43 | pe_data.stdin = fd; |
44 | pe_data.stdout = fd; | 44 | pe_data.stdout = fd; |
45 | pid = run_helper(slirp_pre_exec, &pe_data, argv, NULL); | 45 | pid = run_helper(slirp_pre_exec, &pe_data, argv); |
46 | 46 | ||
47 | return(pid); | 47 | return(pid); |
48 | } | 48 | } |
diff --git a/arch/um/drivers/xterm.c b/arch/um/drivers/xterm.c index 35912846ed21..fd817e541543 100644 --- a/arch/um/drivers/xterm.c +++ b/arch/um/drivers/xterm.c | |||
@@ -132,7 +132,7 @@ static int xterm_open(int input, int output, int primary, void *d, | |||
132 | } | 132 | } |
133 | 133 | ||
134 | sprintf(title, data->title, data->device); | 134 | sprintf(title, data->title, data->device); |
135 | pid = run_helper(NULL, NULL, argv, NULL); | 135 | pid = run_helper(NULL, NULL, argv); |
136 | if (pid < 0) { | 136 | if (pid < 0) { |
137 | err = pid; | 137 | err = pid; |
138 | printk(UM_KERN_ERR "xterm_open : run_helper failed, " | 138 | printk(UM_KERN_ERR "xterm_open : run_helper failed, " |