Message ID | 1313820761-12042-4-git-send-email-julia@diku.dk (mailing list archive) |
---|---|
State | Accepted, archived |
Headers | show |
At Sat, 20 Aug 2011 08:12:41 +0200, Julia Lawall wrote: > > From: Julia Lawall <julia@diku.dk> > > 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 <julia@diku.dk> Thanks, applied this one. The rest three are left for review by Mark & Liam. Takashi > --- > 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; > } > >
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; }