Messages in this thread | | | Subject | Re: [PATCH net-next] net: sched: cls_u32: use struct_size() helper | From | "Gustavo A. R. Silva" <> | Date | Thu, 23 May 2019 18:25:47 -0500 |
| |
Hi,
Sorry about the noise. I just noticed that Dave took this a while ago.
Thanks --
On 5/23/19 6:22 PM, Gustavo A. R. Silva wrote: > Hi all, > > Friendly ping: > > Who can take this? > > Thanks > -- > Gustavo > > On 5/1/19 11:23 AM, Gustavo A. R. Silva wrote: >> Make use of the struct_size() helper instead of an open-coded version >> in order to avoid any potential type mistakes, in particular in the >> context in which this code is being used. >> >> So, replace code of the following form: >> >> sizeof(*s) + s->nkeys*sizeof(struct tc_u32_key) >> >> with: >> >> struct_size(s, keys, s->nkeys) >> >> This code was detected with the help of Coccinelle. >> >> Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com> >> --- >> net/sched/cls_u32.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/net/sched/cls_u32.c b/net/sched/cls_u32.c >> index 04e9ef088535..4b8710a266cc 100644 >> --- a/net/sched/cls_u32.c >> +++ b/net/sched/cls_u32.c >> @@ -847,7 +847,7 @@ static struct tc_u_knode *u32_init_knode(struct net *net, struct tcf_proto *tp, >> /* Similarly success statistics must be moved as pointers */ >> new->pcpu_success = n->pcpu_success; >> #endif >> - memcpy(&new->sel, s, sizeof(*s) + s->nkeys*sizeof(struct tc_u32_key)); >> + memcpy(&new->sel, s, struct_size(s, keys, s->nkeys)); >> >> if (tcf_exts_init(&new->exts, net, TCA_U32_ACT, TCA_U32_POLICE)) { >> kfree(new); >>
| |