aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/tun.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/tun.c')
-rw-r--r--drivers/net/tun.c15
1 files changed, 2 insertions, 13 deletions
diff --git a/drivers/net/tun.c b/drivers/net/tun.c
index f8b8c71187a0..5db4df460049 100644
--- a/drivers/net/tun.c
+++ b/drivers/net/tun.c
@@ -292,17 +292,6 @@ static __inline__ ssize_t tun_get_user(struct tun_struct *tun, struct iovec *iv,
292 return count; 292 return count;
293} 293}
294 294
295static inline size_t iov_total(const struct iovec *iv, unsigned long count)
296{
297 unsigned long i;
298 size_t len;
299
300 for (i = 0, len = 0; i < count; i++)
301 len += iv[i].iov_len;
302
303 return len;
304}
305
306static ssize_t tun_chr_aio_write(struct kiocb *iocb, const struct iovec *iv, 295static ssize_t tun_chr_aio_write(struct kiocb *iocb, const struct iovec *iv,
307 unsigned long count, loff_t pos) 296 unsigned long count, loff_t pos)
308{ 297{
@@ -313,7 +302,7 @@ static ssize_t tun_chr_aio_write(struct kiocb *iocb, const struct iovec *iv,
313 302
314 DBG(KERN_INFO "%s: tun_chr_write %ld\n", tun->dev->name, count); 303 DBG(KERN_INFO "%s: tun_chr_write %ld\n", tun->dev->name, count);
315 304
316 return tun_get_user(tun, (struct iovec *) iv, iov_total(iv, count)); 305 return tun_get_user(tun, (struct iovec *) iv, iov_length(iv, count));
317} 306}
318 307
319/* Put packet to the user space buffer */ 308/* Put packet to the user space buffer */
@@ -364,7 +353,7 @@ static ssize_t tun_chr_aio_read(struct kiocb *iocb, const struct iovec *iv,
364 353
365 DBG(KERN_INFO "%s: tun_chr_read\n", tun->dev->name); 354 DBG(KERN_INFO "%s: tun_chr_read\n", tun->dev->name);
366 355
367 len = iov_total(iv, count); 356 len = iov_length(iv, count);
368 if (len < 0) 357 if (len < 0)
369 return -EINVAL; 358 return -EINVAL;
370 359