* [PATCH] omap3isp: ispqueue: Fix uninitialized variable compiler warnings
@ 2012-12-17 8:52 Laurent Pinchart
2013-01-04 22:51 ` Sakari Ailus
0 siblings, 1 reply; 3+ messages in thread
From: Laurent Pinchart @ 2012-12-17 8:52 UTC (permalink / raw)
To: linux-media; +Cc: sakari.ailus
drivers/media/platform/omap3isp/ispqueue.c:399:18: warning: 'pa' may be
used uninitialized in this function [-Wuninitialized]
This is a false positive but the compiler has no way to know about it,
so initialize the variable to 0.
drivers/media/platform/omap3isp/ispqueue.c:445:6: warning:
'vm_page_prot' may be used uninitialized in this function
[-Wuninitialized]
This is a false positive and the compiler should know better. Use
uninitialized_var().
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
drivers/media/platform/omap3isp/ispqueue.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/media/platform/omap3isp/ispqueue.c b/drivers/media/platform/omap3isp/ispqueue.c
index 15bf3ea..1388eb7 100644
--- a/drivers/media/platform/omap3isp/ispqueue.c
+++ b/drivers/media/platform/omap3isp/ispqueue.c
@@ -366,7 +366,7 @@ static int isp_video_buffer_prepare_pfnmap(struct isp_video_buffer *buf)
unsigned long this_pfn;
unsigned long start;
unsigned long end;
- dma_addr_t pa;
+ dma_addr_t pa = 0;
int ret = -EFAULT;
start = buf->vbuf.m.userptr;
@@ -419,7 +419,7 @@ done:
static int isp_video_buffer_prepare_vm_flags(struct isp_video_buffer *buf)
{
struct vm_area_struct *vma;
- pgprot_t vm_page_prot;
+ pgprot_t uninitialized_var(vm_page_prot);
unsigned long start;
unsigned long end;
int ret = -EFAULT;
--
Regards,
Laurent Pinchart
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] omap3isp: ispqueue: Fix uninitialized variable compiler warnings
2012-12-17 8:52 [PATCH] omap3isp: ispqueue: Fix uninitialized variable compiler warnings Laurent Pinchart
@ 2013-01-04 22:51 ` Sakari Ailus
2013-01-07 22:23 ` Laurent Pinchart
0 siblings, 1 reply; 3+ messages in thread
From: Sakari Ailus @ 2013-01-04 22:51 UTC (permalink / raw)
To: Laurent Pinchart; +Cc: linux-media
Hi Laurent,
Thanks for the patch.
On Mon, Dec 17, 2012 at 09:52:48AM +0100, Laurent Pinchart wrote:
> drivers/media/platform/omap3isp/ispqueue.c:399:18: warning: 'pa' may be
> used uninitialized in this function [-Wuninitialized]
>
> This is a false positive but the compiler has no way to know about it,
> so initialize the variable to 0.
>
> drivers/media/platform/omap3isp/ispqueue.c:445:6: warning:
> 'vm_page_prot' may be used uninitialized in this function
> [-Wuninitialized]
>
> This is a false positive and the compiler should know better. Use
> uninitialized_var().
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> ---
> drivers/media/platform/omap3isp/ispqueue.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/media/platform/omap3isp/ispqueue.c b/drivers/media/platform/omap3isp/ispqueue.c
> index 15bf3ea..1388eb7 100644
> --- a/drivers/media/platform/omap3isp/ispqueue.c
> +++ b/drivers/media/platform/omap3isp/ispqueue.c
> @@ -366,7 +366,7 @@ static int isp_video_buffer_prepare_pfnmap(struct isp_video_buffer *buf)
> unsigned long this_pfn;
> unsigned long start;
> unsigned long end;
> - dma_addr_t pa;
> + dma_addr_t pa = 0;
Why 0 and not something else arbitrary? :-)
The value will not be used as far as I can tell. If it gets used it
certainly is a bug.
> int ret = -EFAULT;
>
> start = buf->vbuf.m.userptr;
> @@ -419,7 +419,7 @@ done:
> static int isp_video_buffer_prepare_vm_flags(struct isp_video_buffer *buf)
> {
> struct vm_area_struct *vma;
> - pgprot_t vm_page_prot;
> + pgprot_t uninitialized_var(vm_page_prot);
> unsigned long start;
> unsigned long end;
> int ret = -EFAULT;
--
Cheers,
Sakari Ailus
e-mail: sakari.ailus@iki.fi XMPP: sailus@retiisi.org.uk
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] omap3isp: ispqueue: Fix uninitialized variable compiler warnings
2013-01-04 22:51 ` Sakari Ailus
@ 2013-01-07 22:23 ` Laurent Pinchart
0 siblings, 0 replies; 3+ messages in thread
From: Laurent Pinchart @ 2013-01-07 22:23 UTC (permalink / raw)
To: Sakari Ailus; +Cc: linux-media
Hi Sakari,
On Saturday 05 January 2013 00:51:36 Sakari Ailus wrote:
> On Mon, Dec 17, 2012 at 09:52:48AM +0100, Laurent Pinchart wrote:
> > drivers/media/platform/omap3isp/ispqueue.c:399:18: warning: 'pa' may be
> > used uninitialized in this function [-Wuninitialized]
> >
> > This is a false positive but the compiler has no way to know about it,
> > so initialize the variable to 0.
> >
> > drivers/media/platform/omap3isp/ispqueue.c:445:6: warning:
> > 'vm_page_prot' may be used uninitialized in this function
> > [-Wuninitialized]
> >
> > This is a false positive and the compiler should know better. Use
> > uninitialized_var().
> >
> > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > ---
> >
> > drivers/media/platform/omap3isp/ispqueue.c | 4 ++--
> > 1 files changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/media/platform/omap3isp/ispqueue.c
> > b/drivers/media/platform/omap3isp/ispqueue.c index 15bf3ea..1388eb7
> > 100644
> > --- a/drivers/media/platform/omap3isp/ispqueue.c
> > +++ b/drivers/media/platform/omap3isp/ispqueue.c
> > @@ -366,7 +366,7 @@ static int isp_video_buffer_prepare_pfnmap(struct
> > isp_video_buffer *buf)
> > unsigned long this_pfn;
> > unsigned long start;
> > unsigned long end;
> > - dma_addr_t pa;
> > + dma_addr_t pa = 0;
>
> Why 0 and not something else arbitrary? :-)
>
> The value will not be used as far as I can tell. If it gets used it
> certainly is a bug.
If buf->vbuf.length == 0 pa will be used uninitialized. This is clearly a bug,
but I thought it would be easier to debug if pa was set to 0 in that case
instead of a random value through uninitialized_var().
> > int ret = -EFAULT;
> >
> > start = buf->vbuf.m.userptr;
> >
> > @@ -419,7 +419,7 @@ done:
> > static int isp_video_buffer_prepare_vm_flags(struct isp_video_buffer
> > *buf)
> > {
> > struct vm_area_struct *vma;
> > - pgprot_t vm_page_prot;
> > + pgprot_t uninitialized_var(vm_page_prot);
> > unsigned long start;
> > unsigned long end;
> > int ret = -EFAULT;
--
Regards,
Laurent Pinchart
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-01-07 22:22 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-12-17 8:52 [PATCH] omap3isp: ispqueue: Fix uninitialized variable compiler warnings Laurent Pinchart
2013-01-04 22:51 ` Sakari Ailus
2013-01-07 22:23 ` Laurent Pinchart
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.