Thread (2 messages) 2 messages, 2 authors, 2011-08-20

Re: [PATCH 4/4] sound/aoa/fabrics/layout.c: remove unneeded kfree

From: Takashi Iwai <hidden>
Date: 2011-08-20 07:30:20
Also in: alsa-devel, kernel-janitors, linux-devicetree, lkml

At Sat, 20 Aug 2011 08:12:41 +0200,
Julia Lawall wrote:
From: Julia Lawall <redacted>

The label outnodev is only used when kzalloc has not yet taken place or has
failed, so there is no need for the call for kfree under this label.

A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)

// <smpl>
@@
identifier x;
expression E1!=0,E2,E3,E4;
statement S;
iterator I;
@@

(
if (...) { ... when != kfree(x)
               when != x = E3
               when != E3 = x
*  return ...;
 }
... when != x = E2
    when != I(...,x,...) S
if (...) { ... when != x = E4
 kfree(x); ... return ...; }
)
// </smpl>

Signed-off-by: Julia Lawall <redacted>
Thanks, applied this one.
The rest three are left for review by Mark & Liam.


Takashi


quoted hunk ↗ jump to hunk
---
 sound/aoa/fabrics/layout.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/aoa/fabrics/layout.c b/sound/aoa/fabrics/layout.c
index 3fd1a7e..552b97a 100644
--- a/sound/aoa/fabrics/layout.c
+++ b/sound/aoa/fabrics/layout.c
@@ -1073,10 +1073,10 @@ static int aoa_fabric_layout_probe(struct soundbus_dev *sdev)
 	sdev->pcmid = -1;
 	list_del(&ldev->list);
 	layouts_list_items--;
+	kfree(ldev);
  outnodev:
  	of_node_put(sound);
  	layout_device = NULL;
- 	kfree(ldev);
 	return -ENODEV;
 }
 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help