Em Tue, 26 Jan 2016 08:12:15 +0100 Julia Lawall <julia.lawall@xxxxxxx> escreveu: > On Tue, 26 Jan 2016, Krzysztof Kozlowski wrote: > > > On 26.01.2016 15:24, Julia Lawall wrote: > > > > > > > > > On Tue, 26 Jan 2016, Krzysztof Kozlowski wrote: > > > > > >> On 26.01.2016 00:21, Amitoj Kaur Chawla wrote: > > >>> for_each_available_child_of_node and for_each_child_of_node perform an > > >>> of_node_get on each iteration, so to break out of the loop an of_node_put is > > >>> required. > > >>> > > >>> Found using Coccinelle. The simplified version of the semantic patch > > >>> that is used for this is as follows: > > >>> > > >>> // <smpl> > > >>> @@ > > >>> local idexpression n; > > >>> expression e,r; > > >>> @@ > > >>> > > >>> for_each_available_child_of_node(r,n) { > > >>> ... > > >>> ( > > >>> of_node_put(n); > > >>> | > > >>> e = n > > >>> | > > >>> + of_node_put(n); > > >>> ? break; > > >>> ) > > >>> ... > > >>> } > > >>> ... when != n > > >>> // </smpl> > > >> > > >> Patch iselft looks correct but why are you pasting coccinelle script > > >> into the message? > > >> > > >> The script is already present in Linux kernel: > > >> scripts/coccinelle/iterators/device_node_continue.cocci > > > > > > I don't think so. The continue one takes care of the case where there is > > > an extraneous of_node_put before a continue, not a missing one before a > > > break. But OK to drop it if it doesn't seem useful. > > > > > > julia > > > > You are right - this is not covered by that cocci patch... but I think > > is covered by scripts/coccinelle/iterators/fen.cocci, isn't it? > > Not quite. If the script is not part of the Kernel, please keep the script in the patch, as it could be useful in some future. Regards, Mauro -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html