[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160318130248.GD30221@mwanda>
Date: Fri, 18 Mar 2016 16:02:48 +0300
From: Dan Carpenter <dan.carpenter@...cle.com>
To: Geert Uytterhoeven <geert@...ux-m68k.org>
Cc: Christian Gromm <christian.gromm@...rochip.com>,
Greg KH <gregkh@...uxfoundation.org>,
driverdevel <devel@...verdev.osuosl.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: staging: most: warning: ‘mbo’
may be used uninitialized in this function
On Fri, Mar 18, 2016 at 01:41:19PM +0100, Geert Uytterhoeven wrote:
> > @@ -249,11 +246,7 @@ aim_read(struct file *filp, char __user *buf, size_t count, loff_t *offset)
> > struct aim_channel *c = filp->private_data;
> >
> > mutex_lock(&c->io_mutex);
> > - if (c->stacked_mbo) {
> > - mbo = c->stacked_mbo;
> > - goto start_copy;
> > - }
> > - while ((!kfifo_out(&c->fifo, &mbo, 1)) && (c->dev)) {
> > + while (c->dev && !kfifo_peek(&c->fifo, &mbo)) {
>
> drivers/staging/most/aim-cdev/cdev.c:241: warning: ‘mbo’ may be used
> uninitialized in this function
>
> From looking at the code, it's not obvious to me if this is a false
> positive or not.
> Can it happen that mbo is not initialized fully, e.g. if less than sizeof(mbo)
> bytes have been read from the kfifo?
>
> Other callers initialize the pointer to NULL, and check the returned length.
>
It looks like a false positive to me.
regards,
dan carpenter
Powered by blists - more mailing lists