From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752679AbbJJVQT (ORCPT ); Sat, 10 Oct 2015 17:16:19 -0400 Received: from mout.kundenserver.de ([212.227.126.131]:53025 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750775AbbJJVQS (ORCPT ); Sat, 10 Oct 2015 17:16:18 -0400 From: Arnd Bergmann To: Julia Lawall Cc: linux-arm-kernel@lists.infradead.org, Julia Lawall , Russell King , Thomas Petazzoni , Andrew Lunn , Jason Cooper , kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org, Bjorn Helgaas Subject: Re: [PATCH 5/5] arm: add missing of_node_put Date: Sat, 10 Oct 2015 23:15:43 +0200 Message-ID: <8965654.Mi98YpI4rM@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.16.0-10-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: References: <1444480254-14399-1-git-send-email-Julia.Lawall@lip6.fr> <8655275.vMqHQfLN9g@wuerfel> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V03:K0:ScaD7P5PptlOPTv3Xi/W5vNFG/hEGDv+iEIVBWvgAFdzASEC/D5 ySzYcuy8fZP59+Sv+D6N7kTziZNyH4ugG4Q5ukurs7sofLWvtKQsG9Ry5lapa/jqLVBpZmq kCoLjcHL1D2A8LCPy2vmy/4MCJUM5z+54vCogb+674piH1BJghTD1K8yVfMMJDBnDUODfoy yK1YpAuB75t/0ZqagWDNQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:MXsVh+LPfvc=:Q5tZYcvhvRAb0j91Oae9MU 27S+pYSBufx1sPU4pr269vOQQCVXt7LlP+hCuOhJyx9oO5rc5Av1BK+3dF0ghbgdyV8q41zgr K0dU6ZZ3YB0vwOg8VNjw/xKGCNI85Hq1dwGyhPabesxZ0aOHYkgOX1F1hWVoH2ZazFKJJrsAH 4+KwfMlwsNvGw+UUga30ETRMpIFSrjymWbPo+gAs7q59z2AVnQICYWVNqu2Nj8xm0GhwGIS6P EMD0EsR22G3LDQAsLkCSCWbqKyBtNWK3CL04HFB0Y9vftnVwlmow8/zO6LO56hNSo9F49AoCn eU3gdwWW18D+HqcgwPhoYY1Vyh8mWMLJqkpQ9fJeaAELs4L9J/6/m7w7SioBZ9hevO/FGDMO0 OFMOIPLPe5YnXHzU/eI2bCp2KvNALGfpNBEpMZ/SaL5qi81dp9C63Ckgd9W3zUT0bceGBtO8B bWF8XqeU59wY6370MLbvdZtsE9v6dASQN3ZAGXTw5js0gO3eX50HgBMvF1RoOMjyAwNGuHf6W i3P7NsuG/6ULgtGVdbxujaCsNZ6TGAMZCKfYRIpnza8XpRlfuuUZad9XGL/BnOLJm5lL1fhhG J10IWHnaPRAc7RjGWF/C1Wva+VvfJ4YuCEJ/f5lAy9va/ZGtRzP0UPtZWrStGAmMA7+rDq74w bpV3Ek0RFAApG0PMQDKiFR+FBtHDJvYRAG0fYrL8N0ku4b9YoVuW9YQRwIveF/35Gv4IZ1pFp vwnTWpkUozd1URZq Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Saturday 10 October 2015 23:10:06 Julia Lawall wrote: > On Sat, 10 Oct 2015, Arnd Bergmann wrote: > > > On Saturday 10 October 2015 14:30:54 Julia Lawall wrote: > > > diff --git a/arch/arm/kernel/devtree.c b/arch/arm/kernel/devtree.c > > > index 11c54de..432ff34 100644 > > > --- a/arch/arm/kernel/devtree.c > > > +++ b/arch/arm/kernel/devtree.c > > > @@ -143,6 +143,7 @@ void __init arm_dt_init_cpu_maps(void) > > > "max cores %u, capping them\n", > > > cpuidx, nr_cpu_ids)) { > > > cpuidx = nr_cpu_ids; > > > + of_node_put(cpu); > > > break; > > > } > > > > > > > The same for_each_child_of_node() loop has three 'return' statements' > > aside from the 'break' statement here. I think you should change your > > semantic patch to cover both cases. > > It was intended to, Ok, I saw that just after replying... > but it seems that it's not working on the case where > there is no argument to return. > In any case, it's an opportunity to ask a question. Would one want a > of_node_put in front of every return, or should the returns become gotos, > to a single of_node_put after the current end of the function? The two styles that I see in code I consider particularly clean are: - have only one return statement in the function and use goto for error handling - avoid the goto and have the early return. Mixing the two tends to make the function less readable, so I'd only change it to use gotos if it can be done nicely for all cases. Arnd