Author: Julia Lawall <julia@diku.dk> The function has an unsigned return type, but returns a negative constant to indicate an error condition. The result of calling the function is always stored in a variable of type (signed) int, and thus unsigned can be dropped from the return type. A sematic match that finds this problem is …
Sep 05 2010
net/9p/trans_fd.c: Fix unsigned return type
Author: Julia Lawall <julia@diku.dk> The function has an unsigned return type, but returns a negative constant to indicate an error condition. The result of calling the function is always stored in a variable of type (signed) int, and thus unsigned can be dropped from the return type. A sematic match that finds this problem is …
Sep 04 2010
powerpc/5200: efika.c: Add of_node_put to avoid memory leak
Author: Julia Lawall <julia@diku.dk> This function is implemented as though the function of_get_next_child does not increment the reference count of its result, but actually it does. Thus the patch adds of_node_put in error handling code and drops a call to of_node_get. The semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @r exists@ …
Sep 04 2010
powerpc/irq.c: Add of_node_put to avoid memory leak
Author: Julia Lawall <julia@diku.dk> In this case, a device_node structure is stored in another structure that is then freed without first decrementing the reference count of the device_node structure. The semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @r exists@ expression x; identifier f; position p1,p2; @@ x@p1->f = \(of_find_node_by_path\|of_find_node_by_name\|of_find_node_by_phandle\|of_get_parent\|of_get_next_parent\|of_get_next_child\|of_find_compatible_node\|of_match_node\|of_find_node_by_type\|of_find_node_with_property\|of_find_matching_node\|of_parse_phandle\|of_node_get\)(…); … when …
Sep 04 2010
drivers/net/fs_enet/fs_enet-main.c: Add of_node_put to avoid memory leak
Author: Julia Lawall <julia@diku.dk> In this case, a device_node structure is stored in another structure that is then freed without first decrementing the reference count of the device_node structure. The semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @r exists@ expression x; identifier f; position p1,p2; @@ x@p1->f = \(of_find_node_by_path\|of_find_node_by_name\|of_find_node_by_phandle\|of_get_parent\|of_get_next_parent\|of_get_next_child\|of_find_compatible_node\|of_match_node\|of_find_node_by_type\|of_find_node_with_property\|of_find_matching_node\|of_parse_phandle\|of_node_get\)(…); … when …
Aug 31 2010
ASoC: pl022_ds.c: Add of_node_put to avoid memory leak
Author: Julia Lawall <julia@diku.dk> Add a call to of_node_put in the error handling code following a call to of_parse_phandle. This patch also moves the existing call to of_node_put tothe end of the error handling code, to make it possible to jump to of_node_put without doing the other cleanup operations. These appear to be disjoint operations, …
Aug 31 2010
drivers/serial/ucc_uart.c: Add of_node_put to avoid memory leak
Author: Julia Lawall <julia@diku.dk> Add a call to of_node_put in the error handling code following a call to of_find_compatible_node or of_find_node_by_type. This patch also substantially reorganizes the error handling code in the function, to that it is possible first to jump to code that frees qe_port and then to jump to code that also puts …
Aug 31 2010
drivers/net/can/mscan/mpc5xxx_can.c: Add of_node_put to avoid memory leak
Author: Julia Lawall <julia@diku.dk> Add a call to of_node_put in the error handling code following a call to of_find_matching_node. This patch also moves the existing call to of_node_put after the call to iounmap in the error handling code, to make it possible to jump to of_node_put without doing iounmap. These appear to be disjoint operations, …
Aug 31 2010
powerpc/chrp/nvram.c: Add of_node_put to avoid memory leak
Author: Julia Lawall <julia@diku.dk> Add a call to of_node_put in the error handling code following a call to of_find_node_by_type. The semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @r exists@ local idexpression x; expression E,E1,E2; statement S; @@ *x = (of_find_node_by_path |of_find_node_by_name |of_find_node_by_phandle |of_get_parent |of_get_next_parent |of_get_next_child |of_find_compatible_node |of_match_node |of_find_node_by_type |of_find_node_with_property |of_find_matching_node |of_parse_phandle …
Aug 29 2010
arch/powerpc/platforms/83xx/mpc837x_mds.c: Add missing iounmap
Author: Julia Lawall <julia@diku.dk> The function of_iomap returns the result of calling ioremap, so iounmap should be called on the result in the error handling code, as done in the normal exit of the function. The sematic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @r exists@ local idexpression x; expression E,E1; identifier …