Re: [PATCH 3/8] drivers/media/video/hdpvr: introduce missing kfree

2010-02-03 Thread Janne Grunau
Hej, 

On Tue, Feb 02, 2010 at 01:19:15PM -0200, Mauro Carvalho Chehab wrote:
 
 Janne Grunau wrote:
  On Fri, Sep 11, 2009 at 06:21:35PM +0200, Julia Lawall wrote:
  Error handling code following a kzalloc should free the allocated data.
  
  Thanks for the report. I'll commit a different patch which adds the buffer
  to the buffer list as soon it is allocated. The hdpvr_free_buffers() in the
  error handling code will clean it up then. See below:
 
 Any news about this subject? The current upstream code still misses the 
 change bellow

it was fixed differently in cd0e280f

kind regards,
Janne
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 3/8] drivers/media/video/hdpvr: introduce missing kfree

2010-02-03 Thread Mauro Carvalho Chehab
Janne Grunau wrote:
 Hej, 
 
 On Tue, Feb 02, 2010 at 01:19:15PM -0200, Mauro Carvalho Chehab wrote:
 Janne Grunau wrote:
 On Fri, Sep 11, 2009 at 06:21:35PM +0200, Julia Lawall wrote:
 Error handling code following a kzalloc should free the allocated data.
 Thanks for the report. I'll commit a different patch which adds the buffer
 to the buffer list as soon it is allocated. The hdpvr_free_buffers() in the
 error handling code will clean it up then. See below:
 Any news about this subject? The current upstream code still misses the 
 change bellow
 
 it was fixed differently in cd0e280f

Thanks! I'm removing it from my queue :)

Now, the only hdpvr patch is this one:

hdpvr-video: cleanup signedness 
http://patchwork.kernel.org/patch/74902


Cheers,
Mauro
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 3/8] drivers/media/video/hdpvr: introduce missing kfree

2010-02-02 Thread Mauro Carvalho Chehab
Hi Janne,

Janne Grunau wrote:
 On Fri, Sep 11, 2009 at 06:21:35PM +0200, Julia Lawall wrote:
 Error handling code following a kzalloc should free the allocated data.
 
 Thanks for the report. I'll commit a different patch which adds the buffer
 to the buffer list as soon it is allocated. The hdpvr_free_buffers() in the
 error handling code will clean it up then. See below:

Any news about this subject? The current upstream code still misses the change 
bellow

 
 diff --git a/linux/drivers/media/video/hdpvr/hdpvr-video.c 
 b/linux/drivers/media/video/hdpvr/hdpvr-video.c
 --- a/linux/drivers/media/video/hdpvr/hdpvr-video.c
 +++ b/linux/drivers/media/video/hdpvr/hdpvr-video.c
 @@ -134,6 +134,8 @@
 v4l2_err(dev-v4l2_dev, cannot allocate buffer\n);
 goto exit;
 }
 +   list_add_tail(buf-buff_list, dev-free_buff_list);
 +
 buf-dev = dev;
 
 urb = usb_alloc_urb(0, GFP_KERNEL);
 @@ -158,7 +160,6 @@
   hdpvr_read_bulk_callback, buf);
 
 buf-status = BUFSTAT_AVAILABLE;
 -   list_add_tail(buf-buff_list, dev-free_buff_list);
 }
 return 0;
  exit:
 --
 To unsubscribe from this list: send the line unsubscribe linux-media in
 the body of a message to majord...@vger.kernel.org
 More majordomo info at  http://vger.kernel.org/majordomo-info.html


-- 

Cheers,
Mauro
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 3/8] drivers/media/video/hdpvr: introduce missing kfree

2009-09-16 Thread Janne Grunau
On Fri, Sep 11, 2009 at 06:21:35PM +0200, Julia Lawall wrote:
 
 Error handling code following a kzalloc should free the allocated data.

Thanks for the report. I'll commit a different patch which adds the buffer
to the buffer list as soon it is allocated. The hdpvr_free_buffers() in the
error handling code will clean it up then. See below:

diff --git a/linux/drivers/media/video/hdpvr/hdpvr-video.c 
b/linux/drivers/media/video/hdpvr/hdpvr-video.c
--- a/linux/drivers/media/video/hdpvr/hdpvr-video.c
+++ b/linux/drivers/media/video/hdpvr/hdpvr-video.c
@@ -134,6 +134,8 @@
v4l2_err(dev-v4l2_dev, cannot allocate buffer\n);
goto exit;
}
+   list_add_tail(buf-buff_list, dev-free_buff_list);
+
buf-dev = dev;

urb = usb_alloc_urb(0, GFP_KERNEL);
@@ -158,7 +160,6 @@
  hdpvr_read_bulk_callback, buf);

buf-status = BUFSTAT_AVAILABLE;
-   list_add_tail(buf-buff_list, dev-free_buff_list);
}
return 0;
 exit:
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 3/8] drivers/media/video/hdpvr: introduce missing kfree

2009-09-11 Thread Julia Lawall
From: Julia Lawall ju...@diku.dk

Error handling code following a kzalloc should free the allocated data.

The semantic match that finds the problem is as follows:
(http://www.emn.fr/x-info/coccinelle/)

// smpl
@r exists@
local idexpression x;
statement S;
expression E;
identifier f,f1,l;
position p1,p2;
expression *ptr != NULL;
@@

x...@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...);
...
if (x == NULL) S
... when != x
 when != if (...) { +...x...+ }
(
x-f1 = E
|
 (x-f1 == NULL || ...)
|
 f(...,x-f1,...)
)
...
(
 return \(0\|+...x...+\|ptr\);
|
 ret...@p2 ...;
)

@script:python@
p1  r.p1;
p2  r.p2;
@@

print * file: %s kmalloc %s return %s % (p1[0].file,p1[0].line,p2[0].line)
// /smpl

Signed-off-by: Julia Lawall ju...@diku.dk
---
 drivers/media/video/hdpvr/hdpvr-video.c|4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/drivers/media/video/hdpvr/hdpvr-video.c 
b/drivers/media/video/hdpvr/hdpvr-video.c
index 2eb9dc2..0d17ce5 100644
--- a/drivers/media/video/hdpvr/hdpvr-video.c
+++ b/drivers/media/video/hdpvr/hdpvr-video.c
@@ -132,7 +132,7 @@ int hdpvr_alloc_buffers(struct hdpvr_device *dev, uint 
count)
buf = kzalloc(sizeof(struct hdpvr_buffer), GFP_KERNEL);
if (!buf) {
v4l2_err(dev-v4l2_dev, cannot allocate buffer\n);
-   goto exit;
+   goto exit_nobuf;
}
buf-dev = dev;
 
@@ -162,6 +162,8 @@ int hdpvr_alloc_buffers(struct hdpvr_device *dev, uint 
count)
}
return 0;
 exit:
+   kfree(buf);
+exit_nobuf:
hdpvr_free_buffers(dev);
return retval;
 }
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html