diff options
author | Jeff Dike <jdike@addtoit.com> | 2007-10-16 04:27:11 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-16 12:43:06 -0400 |
commit | 512b6fb1c14d4c34f23a3419b0789ad01914a899 (patch) | |
tree | 29e51c256dde41db297cff28767bf4dc4a1dc73f /arch/um/os-Linux/drivers/tuntap_user.c | |
parent | b21d4b08b6686fa13bf9d4cae1ae08cb23ea3d53 (diff) |
uml: userspace files should call libc directly
A number of files that were changed in the recent removal of tt mode
are userspace files which call the os_* wrappers instead of calling
libc directly. A few other files were affected by this, through
This patch makes these call glibc directly.
There are also style fixes in the affected areas.
os_print_error has no remaining callers, so it is deleted.
There is a interface change to os_set_exec_close, eliminating a
parameter which was always the same. The callers are fixed as well.
os_process_pc got its error path cleaned up.
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/os-Linux/drivers/tuntap_user.c')
-rw-r--r-- | arch/um/os-Linux/drivers/tuntap_user.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/arch/um/os-Linux/drivers/tuntap_user.c b/arch/um/os-Linux/drivers/tuntap_user.c index f848b4ea9343..72a2ff61556d 100644 --- a/arch/um/os-Linux/drivers/tuntap_user.c +++ b/arch/um/os-Linux/drivers/tuntap_user.c | |||
@@ -62,7 +62,7 @@ static void tuntap_pre_exec(void *arg) | |||
62 | struct tuntap_pre_exec_data *data = arg; | 62 | struct tuntap_pre_exec_data *data = arg; |
63 | 63 | ||
64 | dup2(data->stdout, 1); | 64 | dup2(data->stdout, 1); |
65 | os_close_file(data->close_me); | 65 | close(data->close_me); |
66 | } | 66 | } |
67 | 67 | ||
68 | static int tuntap_open_tramp(char *gate, int *fd_out, int me, int remote, | 68 | static int tuntap_open_tramp(char *gate, int *fd_out, int me, int remote, |
@@ -88,7 +88,7 @@ static int tuntap_open_tramp(char *gate, int *fd_out, int me, int remote, | |||
88 | if(pid < 0) | 88 | if(pid < 0) |
89 | return -pid; | 89 | return -pid; |
90 | 90 | ||
91 | os_close_file(remote); | 91 | close(remote); |
92 | 92 | ||
93 | msg.msg_name = NULL; | 93 | msg.msg_name = NULL; |
94 | msg.msg_namelen = 0; | 94 | msg.msg_namelen = 0; |
@@ -125,7 +125,7 @@ static int tuntap_open_tramp(char *gate, int *fd_out, int me, int remote, | |||
125 | return -EINVAL; | 125 | return -EINVAL; |
126 | } | 126 | } |
127 | *fd_out = ((int *) CMSG_DATA(cmsg))[0]; | 127 | *fd_out = ((int *) CMSG_DATA(cmsg))[0]; |
128 | os_set_exec_close(*fd_out, 1); | 128 | os_set_exec_close(*fd_out); |
129 | return 0; | 129 | return 0; |
130 | } | 130 | } |
131 | 131 | ||
@@ -154,20 +154,22 @@ static int tuntap_open(void *data) | |||
154 | if(ioctl(pri->fd, TUNSETIFF, (void *) &ifr) < 0){ | 154 | if(ioctl(pri->fd, TUNSETIFF, (void *) &ifr) < 0){ |
155 | err = -errno; | 155 | err = -errno; |
156 | printk("TUNSETIFF failed, errno = %d\n", errno); | 156 | printk("TUNSETIFF failed, errno = %d\n", errno); |
157 | os_close_file(pri->fd); | 157 | close(pri->fd); |
158 | return err; | 158 | return err; |
159 | } | 159 | } |
160 | } | 160 | } |
161 | else { | 161 | else { |
162 | err = os_pipe(fds, 0, 0); | 162 | err = socketpair(AF_UNIX, SOCK_DGRAM, 0, fds); |
163 | if(err < 0){ | 163 | if(err){ |
164 | printk("tuntap_open : os_pipe failed - err = %d\n", | 164 | err = -errno; |
165 | -err); | 165 | printk("tuntap_open : socketpair failed - errno = %d\n", |
166 | errno); | ||
166 | return err; | 167 | return err; |
167 | } | 168 | } |
168 | 169 | ||
169 | buffer = get_output_buffer(&len); | 170 | buffer = get_output_buffer(&len); |
170 | if(buffer != NULL) len--; | 171 | if(buffer != NULL) |
172 | len--; | ||
171 | used = 0; | 173 | used = 0; |
172 | 174 | ||
173 | err = tuntap_open_tramp(pri->gate_addr, &pri->fd, fds[0], | 175 | err = tuntap_open_tramp(pri->gate_addr, &pri->fd, fds[0], |
@@ -186,7 +188,7 @@ static int tuntap_open(void *data) | |||
186 | printk("%s", output); | 188 | printk("%s", output); |
187 | free_output_buffer(buffer); | 189 | free_output_buffer(buffer); |
188 | 190 | ||
189 | os_close_file(fds[0]); | 191 | close(fds[0]); |
190 | iter_addresses(pri->dev, open_addr, pri->dev_name); | 192 | iter_addresses(pri->dev, open_addr, pri->dev_name); |
191 | } | 193 | } |
192 | 194 | ||
@@ -199,7 +201,7 @@ static void tuntap_close(int fd, void *data) | |||
199 | 201 | ||
200 | if(!pri->fixed_config) | 202 | if(!pri->fixed_config) |
201 | iter_addresses(pri->dev, close_addr, pri->dev_name); | 203 | iter_addresses(pri->dev, close_addr, pri->dev_name); |
202 | os_close_file(fd); | 204 | close(fd); |
203 | pri->fd = -1; | 205 | pri->fd = -1; |
204 | } | 206 | } |
205 | 207 | ||