|
@@ -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]))
|
|
|
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)
|
|
|
return -ENOMEM;
|
|
|
|
|
|
- memcpy(bpf_ops, nla_data(tb[TCA_BPF_OPS]), bpf_size);
|
|
|
-
|
|
|
fprog_tmp.len = bpf_num_ops;
|
|
|
fprog_tmp.filter = bpf_ops;
|
|
|
|