Re: [PATCH] net/sched: act_pedit: Use kmemdup() to replace kmalloc + memcpy

From: Jamal Hadi Salim
Date: Fri Jun 09 2023 - 11:56:11 EST


On Fri, Jun 9, 2023 at 8:30 AM Pedro Tammela <pctammela@xxxxxxxxxxxx> wrote:
>
> On 09/06/2023 04:01, Jiapeng Chong wrote:
> > ./net/sched/act_pedit.c:245:21-28: WARNING opportunity for kmemdup.
> >
> > Reported-by: Abaci Robot <abaci@xxxxxxxxxxxxxxxxx>
> > Closes: https://bugzilla.openanolis.cn/show_bug.cgi?id=5478
> > Signed-off-by: Jiapeng Chong <jiapeng.chong@xxxxxxxxxxxxxxxxx>
>
> LGTM,
>
> Reviewed-by: Pedro Tammela <pctammela@xxxxxxxxxxxx>

Acked-by: Jamal Hadi Salim <jhs@xxxxxxxxxxxx>

cheers,
jamal

> > ---
> > net/sched/act_pedit.c | 4 +---
> > 1 file changed, 1 insertion(+), 3 deletions(-)
> >
> > diff --git a/net/sched/act_pedit.c b/net/sched/act_pedit.c
> > index fc945c7e4123..8c4e7fddddbf 100644
> > --- a/net/sched/act_pedit.c
> > +++ b/net/sched/act_pedit.c
> > @@ -242,14 +242,12 @@ static int tcf_pedit_init(struct net *net, struct nlattr *nla,
> > nparms->tcfp_flags = parm->flags;
> > nparms->tcfp_nkeys = parm->nkeys;
> >
> > - nparms->tcfp_keys = kmalloc(ksize, GFP_KERNEL);
> > + nparms->tcfp_keys = kmemdup(parm->keys, ksize, GFP_KERNEL);
> > if (!nparms->tcfp_keys) {
> > ret = -ENOMEM;
> > goto put_chain;
> > }
> >
> > - memcpy(nparms->tcfp_keys, parm->keys, ksize);
> > -
> > for (i = 0; i < nparms->tcfp_nkeys; ++i) {
> > u32 offmask = nparms->tcfp_keys[i].offmask;
> > u32 cur = nparms->tcfp_keys[i].off;
>