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 <s...@canb.auug.org.au> Signed-off-by: Jason Wang <jasow...@redhat.com> --- drivers/net/tun.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/net/tun.c b/drivers/net/tun.c index 7475215..5eadb7a 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; } -- 2.7.4