]> asedeno.scripts.mit.edu Git - linux.git/commit
net: sched: cls_u32: the tp_c argument of u32_set_parms() is always tp->data
authorAl Viro <viro@zeniv.linux.org.uk>
Mon, 8 Oct 2018 10:22:41 +0000 (06:22 -0400)
committerDavid S. Miller <davem@davemloft.net>
Mon, 8 Oct 2018 17:33:35 +0000 (10:33 -0700)
commitdb04ff4863bf439500036b1882a9f2236f3c1d76
tree5f704759bc2a1b20418a5a643e5c956ab9e5e939
parent18512f5c255fcdf5589b8f59a97aa0f3fc19aaa5
net: sched: cls_u32: the tp_c argument of u32_set_parms() is always tp->data

It must be tc_u_common associated with that tp (i.e. tp->data).
Proof:
* both ->ht_up and ->tp_c are assign-once
* ->tp_c of anything inserted into tp_c->hlist is tp_c
* hnodes never get reinserted into the lists or moved
between those, so anything found by u32_lookup_ht(tp->data, ...)
will have ->tp_c equal to tp->data.
* tp->root->tp_c == tp->data.
* ->ht_up of anything inserted into hnode->ht[...] is
equal to hnode.
* knodes never get reinserted into hash chains or moved
between those, so anything returned by u32_lookup_key(ht, ...)
will have ->ht_up equal to ht.
* any knode returned by u32_get(tp, ...) will have ->ht_up->tp_c
point to tp->data

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/cls_u32.c