summaryrefslogtreecommitdiff
path: root/drivers/net/tun.c
diff options
context:
space:
mode:
authorJason Wang <jasowang@redhat.com>2016-07-04 13:53:38 +0800
committerDavid S. Miller <davem@davemloft.net>2016-07-04 17:19:27 -0700
commitf48cc6b2661ccb6e9d85a5cdd78c0150929a2821 (patch)
tree30ff3deff4a6bfbd17dfaafde2a0899373939b68 /drivers/net/tun.c
parent22f8788388814cdb2f700086a6ffe94aacb3612c (diff)
tun: fix build warnings
Stephen Rothwell reports a build warnings(powerpc ppc64_defconfig) drivers/net/tun.c: In function 'tun_do_read.part.5': /home/sfr/next/next/drivers/net/tun.c:1491:6: warning: 'err' may be used uninitialized in this function [-Wmaybe-uninitialized] int err; This is because tun_ring_recv() may return an uninitialized err, fix this. Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Jason Wang <jasowang@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/tun.c')
-rw-r--r--drivers/net/tun.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/net/tun.c b/drivers/net/tun.c
index 74752159ec34..5eadb7a1ad7b 100644
--- a/drivers/net/tun.c
+++ b/drivers/net/tun.c
@@ -1447,12 +1447,13 @@ static struct sk_buff *tun_ring_recv(struct tun_file *tfile, int noblock,
{
DECLARE_WAITQUEUE(wait, current);
struct sk_buff *skb = NULL;
+ int error = 0;
skb = skb_array_consume(&tfile->tx_array);
if (skb)
goto out;
if (noblock) {
- *err = -EAGAIN;
+ error = -EAGAIN;
goto out;
}
@@ -1464,11 +1465,11 @@ static struct sk_buff *tun_ring_recv(struct tun_file *tfile, int noblock,
if (skb)
break;
if (signal_pending(current)) {
- *err = -ERESTARTSYS;
+ error = -ERESTARTSYS;
break;
}
if (tfile->socket.sk->sk_shutdown & RCV_SHUTDOWN) {
- *err = -EFAULT;
+ error = -EFAULT;
break;
}
@@ -1479,6 +1480,7 @@ static struct sk_buff *tun_ring_recv(struct tun_file *tfile, int noblock,
remove_wait_queue(&tfile->wq.wait, &wait);
out:
+ *err = error;
return skb;
}