aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/os-Linux/drivers/tuntap_user.c
diff options
context:
space:
mode:
authorJeff Dike <jdike@addtoit.com>2007-10-16 04:27:11 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-16 12:43:06 -0400
commit512b6fb1c14d4c34f23a3419b0789ad01914a899 (patch)
tree29e51c256dde41db297cff28767bf4dc4a1dc73f /arch/um/os-Linux/drivers/tuntap_user.c
parentb21d4b08b6686fa13bf9d4cae1ae08cb23ea3d53 (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.c24
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
68static int tuntap_open_tramp(char *gate, int *fd_out, int me, int remote, 68static 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