As I pointed out inthe other thread, Dave fixed these:
> >> net/sched/act_api.c:71:15: sparse: incorrect type in initializer
> >> (different address spaces) @@ expected struct tc_cookie [noderef]
> >> <asn:4>*__ret @@ got [noderef] <asn:4>*__ret @@
> net/sched/act_api.c:71:15: expected struct tc_cookie [noderef]
> <asn:4>*__ret
> net/sched/act_api.c:71:15: got struct tc_cookie *new_cookie
> >> net/sched/act_api.c:71:13: sparse: incorrect type in assignment (different
> >> address spaces) @@ expected struct tc_cookie *old @@ got struct
> >> tc_cookie [noderef] <struct tc_cookie *old @@
> net/sched/act_api.c:71:13: expected struct tc_cookie *old
> net/sched/act_api.c:71:13: got struct tc_cookie [noderef]
> <asn:4>*[assigned] __ret
in 0dbc81eab4d1 ("net: sched: Fix warnings from xchg() on RCU'd cookie
pointer.")
But this one is still there:
> >> net/sched/act_api.c:132:48: sparse: dereference of noderef expression
...
> 127 static size_t tcf_action_shared_attrs_size(const struct
> tc_action *act)
> 128 {
> 129 u32 cookie_len = 0;
> 130
> 131 if (act->act_cookie)
> > 132 cookie_len =
> nla_total_size(act->act_cookie->len);
It can't be done this way, as act_cookie now is a __rcu var.
> 133
> 134 return nla_total_size(0) /* action number nested */
> 135 + nla_total_size(IFNAMSIZ) /* TCA_ACT_KIND */
> 136 + cookie_len /* TCA_ACT_COOKIE */
> 137 + nla_total_size(0) /* TCA_ACT_STATS nested */
> 138 /* TCA_STATS_BASIC */
> 139 + nla_total_size_64bit(sizeof(struct
> gnet_stats_basic))
> 140 /* TCA_STATS_QUEUE */
> 141 + nla_total_size_64bit(sizeof(struct
> gnet_stats_queue))
> 142 + nla_total_size(0) /* TCA_OPTIONS nested */
> 143 + nla_total_size(sizeof(struct tcf_t)); /*
> TCA_GACT_TM */
> 144 }
> 145
>
> ---
> 0-DAY kernel test infrastructure Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all Intel Corporation
>