[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190215234659.3630ad3c@redhat.com>
Date: Fri, 15 Feb 2019 23:46:59 +0100
From: Stefano Brivio <sbrivio@...hat.com>
To: Vlad Buslov <vladbu@...lanox.com>
Cc: netdev@...r.kernel.org, jhs@...atatu.com, xiyou.wangcong@...il.com,
jiri@...nulli.us, davem@...emloft.net
Subject: Re: [PATCH net-next 11/12] net: sched: flower: track rtnl lock
state
On Thu, 14 Feb 2019 09:47:11 +0200
Vlad Buslov <vladbu@...lanox.com> wrote:
> static int fl_hw_replace_filter(struct tcf_proto *tp,
> - struct cls_fl_filter *f,
> + struct cls_fl_filter *f, bool rtnl_held,
> struct netlink_ext_ack *extack)
> {
> struct tc_cls_flower_offload cls_flower = {};
> struct tcf_block *block = tp->chain->block;
> bool skip_sw = tc_skip_sw(f->flags);
> - int err;
> + int err = 0;
> +
> + if (!rtnl_held)
> + rtnl_lock();
>
> cls_flower.rule = flow_rule_alloc(tcf_exts_num_actions(&f->exts));
> if (!cls_flower.rule)
return -ENOMEM;
Don't you need to:
err = -ENOMEM;
goto errout;
here?
Same...
err = tc_setup_flow_action(&cls_flower.rule->action, &f->exts);
if (err) {
kfree(cls_flower.rule);
if (skip_sw) {
NL_SET_ERR_MSG_MOD(extack, "Failed to setup flow action");
return err;
here,
}
return 0;
and here.
--
Stefano
Powered by blists - more mailing lists