Messages in this thread Patches in this message | | | Date | Tue, 17 Sep 2002 19:41:24 +1000 | From | Nero <> | Subject | [PATCH 2.4][TRIVIAL] ppp_generic.c warning fix |
| |
Hi, I had been getting this warning for a while, decided to do something about it :-)
The warning:
gcc -D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=athlon -DMODULE -nostdinc -I /usr/lib/gcc-lib/i386-linux/3.2.1/include -DKBUILD_BASENAME=ppp_generic -DEXPORT_SYMTAB -c ppp_generic.c ppp_generic.c: In function `ppp_read': ppp_generic.c:381: warning: `ret' might be used uninitialized in this function
I realise 2.5 has this fixed, but for some reason they initialize it as count, but shortly after that it gets set back to 0...
[attached patch as well, incase the inline one got fubared. I don't trust paste] ------------------------------------------------------------------------
diff -urN linux-2.4.19-old/drivers/net/ppp_generic.c linux-2.4.19-new/drivers/net/ppp_generic.c --- linux-2.4.19-old/drivers/net/ppp_generic.c 2002-07-20 20:52:50.000000000 +1000 +++ linux-2.4.19-new/drivers/net/ppp_generic.c 2002-09-17 18:12:19.000000000 +1000 @@ -378,18 +378,20 @@ { struct ppp_file *pf = file->private_data; DECLARE_WAITQUEUE(wait, current); - ssize_t ret; + ssize_t ret = 0; struct sk_buff *skb = 0;
- if (pf == 0) - return -ENXIO; + if (pf == 0) { + ret = -ENXIO; + goto out; + } + add_wait_queue(&pf->rwait, &wait); for (;;) { set_current_state(TASK_INTERRUPTIBLE); skb = skb_dequeue(&pf->rq); if (skb) break; - ret = 0; if (pf->dead) break; ret = -EAGAIN;
diff -urN linux-2.4.19-old/drivers/net/ppp_generic.c linux-2.4.19-new/drivers/net/ppp_generic.c --- linux-2.4.19-old/drivers/net/ppp_generic.c 2002-07-20 20:52:50.000000000 +1000 +++ linux-2.4.19-new/drivers/net/ppp_generic.c 2002-09-17 18:12:19.000000000 +1000 @@ -378,18 +378,20 @@ { struct ppp_file *pf = file->private_data; DECLARE_WAITQUEUE(wait, current); - ssize_t ret; + ssize_t ret = 0; struct sk_buff *skb = 0; - if (pf == 0) - return -ENXIO; + if (pf == 0) { + ret = -ENXIO; + goto out; + } + add_wait_queue(&pf->rwait, &wait); for (;;) { set_current_state(TASK_INTERRUPTIBLE); skb = skb_dequeue(&pf->rq); if (skb) break; - ret = 0; if (pf->dead) break; ret = -EAGAIN;
| |