From: YueHaibing Date: Sat, 28 Jul 2018 10:38:06 +0000 (+0800) Subject: act_bpf: Use kmemdup instead of duplicating it in tcf_bpf_init_from_ops X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=3f6bcc5162a1ba4e99e867364919168c1d821308;p=linux.git act_bpf: Use kmemdup instead of duplicating it in tcf_bpf_init_from_ops Replace calls to kmalloc followed by a memcpy with a direct call to kmemdup. Signed-off-by: YueHaibing Acked-by: Daniel Borkmann Signed-off-by: David S. Miller --- diff --git a/net/sched/act_bpf.c b/net/sched/act_bpf.c index 06f743d8ed413..6203eb075c9aa 100644 --- a/net/sched/act_bpf.c +++ b/net/sched/act_bpf.c @@ -196,12 +196,10 @@ static int tcf_bpf_init_from_ops(struct nlattr **tb, struct tcf_bpf_cfg *cfg) if (bpf_size != nla_len(tb[TCA_ACT_BPF_OPS])) return -EINVAL; - bpf_ops = kzalloc(bpf_size, GFP_KERNEL); + bpf_ops = kmemdup(nla_data(tb[TCA_ACT_BPF_OPS]), bpf_size, GFP_KERNEL); if (bpf_ops == NULL) return -ENOMEM; - memcpy(bpf_ops, nla_data(tb[TCA_ACT_BPF_OPS]), bpf_size); - fprog_tmp.len = bpf_num_ops; fprog_tmp.filter = bpf_ops;