[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <57574CE0.3060202@intel.com>
Date: Tue, 07 Jun 2016 15:38:24 -0700
From: "Samudrala, Sridhar" <sridhar.samudrala@...el.com>
To: Jakub Kicinski <jakub.kicinski@...ronome.com>,
netdev@...r.kernel.org
CC: john.r.fastabend@...el.com
Subject: Re: [PATCHv3 net 3/3] net: cls_u32: catch all hardware offload errors
On 6/7/2016 3:17 PM, Jakub Kicinski wrote:
> Errors reported by u32_replace_hw_hnode() were not propagated.
>
> Signed-off-by: Jakub Kicinski <jakub.kicinski@...ronome.com>
> Reviewed-by: Dinan Gunawardena <dgunawardena@...ronome.com>
> ---
> v3:
> - new patch
Acked-by: Sridhar Samudrala <sridhar.samudrala@...el.com>
>
> net/sched/cls_u32.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/net/sched/cls_u32.c b/net/sched/cls_u32.c
> index 0fc1d47885f8..b9c3875fddc6 100644
> --- a/net/sched/cls_u32.c
> +++ b/net/sched/cls_u32.c
> @@ -923,11 +923,17 @@ static int u32_change(struct net *net, struct sk_buff *in_skb,
> ht->divisor = divisor;
> ht->handle = handle;
> ht->prio = tp->prio;
> +
> + err = u32_replace_hw_hnode(tp, ht, flags);
> + if (err) {
> + kfree(ht);
> + return err;
> + }
> +
> RCU_INIT_POINTER(ht->next, tp_c->hlist);
> rcu_assign_pointer(tp_c->hlist, ht);
> *arg = (unsigned long)ht;
>
> - u32_replace_hw_hnode(tp, ht, flags);
> return 0;
> }
>
Powered by blists - more mailing lists