Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752101AbcKRADp (ORCPT ); Thu, 17 Nov 2016 19:03:45 -0500 Received: from mail-pf0-f194.google.com ([209.85.192.194]:34678 "EHLO mail-pf0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751246AbcKRADn (ORCPT ); Thu, 17 Nov 2016 19:03:43 -0500 Subject: Re: [PATCH] of: Fix issue where code would fall through to error case. To: Moritz Fischer , linux-kernel@vger.kernel.org, robh+dt@kernel.org References: <1479425157-6235-1-git-send-email-moritz.fischer@ettus.com> <582E3FFC.80305@gmail.com> Cc: pantelis.antoniou@konsulko.com, moritz@pure-entropy.org, devicetree@vger.kernel.org From: Frank Rowand Message-ID: <582E452E.3080909@gmail.com> Date: Thu, 17 Nov 2016 16:02:54 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 MIME-Version: 1.0 In-Reply-To: <582E3FFC.80305@gmail.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1473 Lines: 56 On 11/17/16 15:40, Frank Rowand wrote: > On 11/17/16 15:25, Moritz Fischer wrote: >> No longer fall through into the error case that prints out >> an error if no error (err = 0) occurred. >> >> Fixes d9181b20a83(of: Add back an error message, restructured) >> Signed-off-by: Moritz Fischer >> --- >> drivers/of/resolver.c | 6 +++++- >> 1 file changed, 5 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/of/resolver.c b/drivers/of/resolver.c >> index 783bd09..785076d 100644 >> --- a/drivers/of/resolver.c >> +++ b/drivers/of/resolver.c >> @@ -358,9 +358,13 @@ int of_resolve_phandles(struct device_node *overlay) >> >> err = update_usages_of_a_phandle_reference(overlay, prop, phandle); >> if (err) >> - break; >> + goto err_out; >> } >> >> + of_node_put(tree_symbols); >> + >> + return 0; >> + >> err_out: >> pr_err("overlay phandle fixup failed: %d\n", err); >> out: > > Thanks for catching that. > > Rob, please apply. > > Reviewed-by: Frank Rowand > > -Frank On second thought, isn't the common pattern when clean up is needed for both the no-error path and the error path something like: out: of_node_put(tree_symbols); return err; err_out: pr_err("overlay phandle fixup failed: %d\n", err); goto out; } I don't have a strong opinion, whatever Rob wants to take is fine with me. -Frank