lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 23 May 2019 18:25:47 -0500 From: "Gustavo A. R. Silva" <gustavo@...eddedor.com> To: Jamal Hadi Salim <jhs@...atatu.com>, Cong Wang <xiyou.wangcong@...il.com>, Jiri Pirko <jiri@...nulli.us>, "David S. Miller" <davem@...emloft.net> Cc: netdev@...r.kernel.org, linux-kernel@...r.kernel.org Subject: Re: [PATCH net-next] net: sched: cls_u32: use struct_size() helper 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@...eddedor.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); >>
Powered by blists - more mailing lists