Commit f9562fa4 authored by YueHaibing's avatar YueHaibing Committed by David S. Miller

cls_bpf: Use kmemdup instead of duplicating it in cls_bpf_prog_from_ops

Replace calls to kmalloc followed by a memcpy with a direct call to
kmemdup.
Signed-off-by: default avatarYueHaibing <yuehaibing@huawei.com>
Acked-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 0a80848e
...@@ -349,12 +349,10 @@ static int cls_bpf_prog_from_ops(struct nlattr **tb, struct cls_bpf_prog *prog) ...@@ -349,12 +349,10 @@ static int cls_bpf_prog_from_ops(struct nlattr **tb, struct cls_bpf_prog *prog)
if (bpf_size != nla_len(tb[TCA_BPF_OPS])) if (bpf_size != nla_len(tb[TCA_BPF_OPS]))
return -EINVAL; return -EINVAL;
bpf_ops = kzalloc(bpf_size, GFP_KERNEL); bpf_ops = kmemdup(nla_data(tb[TCA_BPF_OPS]), bpf_size, GFP_KERNEL);
if (bpf_ops == NULL) if (bpf_ops == NULL)
return -ENOMEM; return -ENOMEM;
memcpy(bpf_ops, nla_data(tb[TCA_BPF_OPS]), bpf_size);
fprog_tmp.len = bpf_num_ops; fprog_tmp.len = bpf_num_ops;
fprog_tmp.filter = bpf_ops; fprog_tmp.filter = bpf_ops;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment