Skip to content

Commit 5632c82

Browse files
Julia Lawallgregkh
Julia Lawall
authored andcommitted
drivers/usb/dwc3/dwc3-pci.c: introduce missing kfree
Glue needs to be freed on exiting the function in an error case. Furthermore, pci, which is the first argument to the probe function should not be freed before leaveing the function, as it is reused at the call site. So the free of pci is changed to free glue instead. A simplified version of the semantic match that finds the problem is as follows: (http://coccinelle.lip6.fr) // <smpl> @r exists@ local idexpression x; statement S; identifier f1; position p1,p2; expression *ptr != NULL; @@ x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S <... when != x when != if (...) { <+...x...+> } x->f1 ...> ( return \(0\|<+...x...+>\|ptr\); | return@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 <julia@diku.dk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
1 parent 30a0dee commit 5632c82

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

drivers/usb/dwc3/dwc3-pci.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ static int __devinit dwc3_pci_probe(struct pci_dev *pci,
134134
pci_disable_device(pci);
135135

136136
err1:
137-
kfree(pci);
137+
kfree(glue);
138138

139139
err0:
140140
return ret;

0 commit comments

Comments
 (0)