diff options
-rw-r--r-- | drivers/net/tun.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/net/tun.c b/drivers/net/tun.c index 5ac2877a89c3..6b0b2a057a47 100644 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c | |||
@@ -1289,8 +1289,7 @@ done: | |||
1289 | } | 1289 | } |
1290 | 1290 | ||
1291 | static ssize_t tun_do_read(struct tun_struct *tun, struct tun_file *tfile, | 1291 | static ssize_t tun_do_read(struct tun_struct *tun, struct tun_file *tfile, |
1292 | struct kiocb *iocb, const struct iovec *iv, | 1292 | const struct iovec *iv, ssize_t len, int noblock) |
1293 | ssize_t len, int noblock) | ||
1294 | { | 1293 | { |
1295 | DECLARE_WAITQUEUE(wait, current); | 1294 | DECLARE_WAITQUEUE(wait, current); |
1296 | struct sk_buff *skb; | 1295 | struct sk_buff *skb; |
@@ -1353,7 +1352,7 @@ static ssize_t tun_chr_aio_read(struct kiocb *iocb, const struct iovec *iv, | |||
1353 | goto out; | 1352 | goto out; |
1354 | } | 1353 | } |
1355 | 1354 | ||
1356 | ret = tun_do_read(tun, tfile, iocb, iv, len, | 1355 | ret = tun_do_read(tun, tfile, iv, len, |
1357 | file->f_flags & O_NONBLOCK); | 1356 | file->f_flags & O_NONBLOCK); |
1358 | ret = min_t(ssize_t, ret, len); | 1357 | ret = min_t(ssize_t, ret, len); |
1359 | out: | 1358 | out: |
@@ -1452,7 +1451,7 @@ static int tun_recvmsg(struct kiocb *iocb, struct socket *sock, | |||
1452 | SOL_PACKET, TUN_TX_TIMESTAMP); | 1451 | SOL_PACKET, TUN_TX_TIMESTAMP); |
1453 | goto out; | 1452 | goto out; |
1454 | } | 1453 | } |
1455 | ret = tun_do_read(tun, tfile, iocb, m->msg_iov, total_len, | 1454 | ret = tun_do_read(tun, tfile, m->msg_iov, total_len, |
1456 | flags & MSG_DONTWAIT); | 1455 | flags & MSG_DONTWAIT); |
1457 | if (ret > total_len) { | 1456 | if (ret > total_len) { |
1458 | m->msg_flags |= MSG_TRUNC; | 1457 | m->msg_flags |= MSG_TRUNC; |