Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751330AbdILE5x (ORCPT ); Tue, 12 Sep 2017 00:57:53 -0400 Received: from slow1-d.mail.gandi.net ([217.70.178.86]:43363 "EHLO slow1-d.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751045AbdILE5u (ORCPT ); Tue, 12 Sep 2017 00:57:50 -0400 X-Originating-IP: 209.85.128.174 X-Google-Smtp-Source: ADKCNb6T8Pjc344AFGy0a7LKbGmIuv1LSKOa6jlcnZdHQLRlVqDalhtgVSNqjEN6UcL+pOlOh0/S2TR0p+47f4qNkEI= MIME-Version: 1.0 In-Reply-To: <20170911195620.17931-1-christophe.jaillet@wanadoo.fr> References: <20170911195620.17931-1-christophe.jaillet@wanadoo.fr> From: Pravin Shelar Date: Mon, 11 Sep 2017 21:57:44 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v2] openvswitch: Fix an error handling path in 'ovs_nla_init_match_and_action()' To: Christophe JAILLET Cc: Pravin Shelar , "David S. Miller" , Tonghao Zhang , Linux Kernel Network Developers , ovs dev , linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1959 Lines: 47 On Mon, Sep 11, 2017 at 12:56 PM, Christophe JAILLET wrote: > All other error handling paths in this function go through the 'error' > label. This one should do the same. > > Fixes: 9cc9a5cb176c ("datapath: Avoid using stack larger than 1024.") > Signed-off-by: Christophe JAILLET > --- > I think that the comment above the function could be improved. It looks > like the commit log which has introduced this function. > > I'm also not sure that commit 9cc9a5cb176c is of any help. It is > supposed to remove a warning, and I guess it does. But 'ovs_nla_init_match_and_action()' > is called unconditionnaly from 'ovs_flow_cmd_set()'. So even if the stack > used by each function is reduced, the overall stack should be the same, if > not larger. > It depends on which function stack depth are are looking at. for some function it remains same. For nested function it goes down. > So this commit sounds like adding a bug where the code was fine and states > to fix an issue but, at the best, only hides it. > > Instead of fixing the code with the proposed patch, reverting the initial > commit could also be considered. > > V2: update Subject line > --- > net/openvswitch/datapath.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/net/openvswitch/datapath.c b/net/openvswitch/datapath.c > index 76cf273a56c7..c3aec6227c91 100644 > --- a/net/openvswitch/datapath.c > +++ b/net/openvswitch/datapath.c > @@ -1112,7 +1112,8 @@ static int ovs_nla_init_match_and_action(struct net *net, > if (!a[OVS_FLOW_ATTR_KEY]) { > OVS_NLERR(log, > "Flow key attribute not present in set flow."); > - return -EINVAL; > + error = -EINVAL; > + goto error; > } > Patch looks good to me. Acked-by: Pravin B Shelar