On Fri, Jan 19, 2018 at 6:12 AM, Davide Caratti <dcara...@redhat.com> wrote:
>  static int tcf_csum_dump(struct sk_buff *skb, struct tc_action *a, int bind,
> @@ -575,15 +594,18 @@ static int tcf_csum_dump(struct sk_buff *skb, struct 
> tc_action *a, int bind,
>  {
>         unsigned char *b = skb_tail_pointer(skb);
>         struct tcf_csum *p = to_tcf_csum(a);
> +       struct tcf_csum_params *params;
>         struct tc_csum opt = {
> -               .update_flags = p->update_flags,
>                 .index   = p->tcf_index,
> -               .action  = p->tcf_action,
>                 .refcnt  = p->tcf_refcnt - ref,
>                 .bindcnt = p->tcf_bindcnt - bind,
>         };
>         struct tcf_t t;
>
> +       params = rcu_dereference(p->params);

I think you need rtnl_dereference() here, as we don't have RCU read lock here?


> +       opt.action = params->action;
> +       opt.update_flags = params->update_flags;
> +


Thanks.

Reply via email to