mirror of https://gitee.com/openkylin/linux.git
net: sched: cls_u32: rcu can not be last node
tc_u32_sel 'sel' in tc_u_knode expects to be the last element in the structure and pads the structure with tc_u32_key fields for each key. kzalloc(sizeof(*n) + s->nkeys*sizeof(struct tc_u32_key), GFP_KERNEL) CC: Eric Dumazet <edumazet@google.com> Signed-off-by: John Fastabend <john.r.fastabend@intel.com> Acked-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
ab34f64808
commit
4e2840eee6
|
@ -64,8 +64,11 @@ struct tc_u_knode {
|
|||
u32 __percpu *pcpu_success;
|
||||
#endif
|
||||
struct tcf_proto *tp;
|
||||
struct tc_u32_sel sel;
|
||||
struct rcu_head rcu;
|
||||
/* The 'sel' field MUST be the last field in structure to allow for
|
||||
* tc_u32_keys allocated at end of structure.
|
||||
*/
|
||||
struct tc_u32_sel sel;
|
||||
};
|
||||
|
||||
struct tc_u_hnode {
|
||||
|
|
Loading…
Reference in New Issue