Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1730656
| From | Pravin Shelar <pshelar@ovn.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH v2] openvswitch: Fix an error handling path in 'ovs_nla_init_match_and_action()' |
| Date | 2017-09-12 07:00 +0200 |
| Message-ID | <uoLsJ-52c-1@gated-at.bofh.it> (permalink) |
| References | <uoDbP-84z-11@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Mon, Sep 11, 2017 at 12:56 PM, Christophe JAILLET
<christophe.jaillet@wanadoo.fr> 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 <christophe.jaillet@wanadoo.fr>
> ---
> 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 <pshelar@ovn.org>
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH v2] openvswitch: Fix an error handling path in 'ovs_nla_init_match_and_action()' Christophe JAILLET <christophe.jaillet@wanadoo.fr> - 2017-09-11 22:10 +0200 Re: [PATCH v2] openvswitch: Fix an error handling path in 'ovs_nla_init_match_and_action()' Pravin Shelar <pshelar@ovn.org> - 2017-09-12 07:00 +0200 Re: [PATCH v2] openvswitch: Fix an error handling path in 'ovs_nla_init_match_and_action()' David Miller <davem@davemloft.net> - 2017-09-13 05:40 +0200
csiph-web