bpf: drop useless bpf_fd member from cls/act

After setup we don't need to keep user space fd number around anymore, as
it also has no useful meaning for anyone, just remove it.

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Daniel Borkmann 2016-11-26 01:28:05 +01:00 committed by David S. Miller
parent 88575199cc
commit 55556dd59d
2 changed files with 1 additions and 15 deletions

View File

@ -28,7 +28,6 @@ struct tcf_bpf_cfg {
struct bpf_prog *filter; struct bpf_prog *filter;
struct sock_filter *bpf_ops; struct sock_filter *bpf_ops;
const char *bpf_name; const char *bpf_name;
u32 bpf_fd;
u16 bpf_num_ops; u16 bpf_num_ops;
bool is_ebpf; bool is_ebpf;
}; };
@ -118,9 +117,6 @@ static int tcf_bpf_dump_bpf_info(const struct tcf_bpf *prog,
static int tcf_bpf_dump_ebpf_info(const struct tcf_bpf *prog, static int tcf_bpf_dump_ebpf_info(const struct tcf_bpf *prog,
struct sk_buff *skb) struct sk_buff *skb)
{ {
if (nla_put_u32(skb, TCA_ACT_BPF_FD, prog->bpf_fd))
return -EMSGSIZE;
if (prog->bpf_name && if (prog->bpf_name &&
nla_put_string(skb, TCA_ACT_BPF_NAME, prog->bpf_name)) nla_put_string(skb, TCA_ACT_BPF_NAME, prog->bpf_name))
return -EMSGSIZE; return -EMSGSIZE;
@ -233,7 +229,6 @@ static int tcf_bpf_init_from_efd(struct nlattr **tb, struct tcf_bpf_cfg *cfg)
} }
} }
cfg->bpf_fd = bpf_fd;
cfg->bpf_name = name; cfg->bpf_name = name;
cfg->filter = fp; cfg->filter = fp;
cfg->is_ebpf = true; cfg->is_ebpf = true;
@ -332,8 +327,6 @@ static int tcf_bpf_init(struct net *net, struct nlattr *nla,
if (cfg.bpf_num_ops) if (cfg.bpf_num_ops)
prog->bpf_num_ops = cfg.bpf_num_ops; prog->bpf_num_ops = cfg.bpf_num_ops;
if (cfg.bpf_fd)
prog->bpf_fd = cfg.bpf_fd;
prog->tcf_action = parm->action; prog->tcf_action = parm->action;
rcu_assign_pointer(prog->filter, cfg.filter); rcu_assign_pointer(prog->filter, cfg.filter);

View File

@ -45,10 +45,7 @@ struct cls_bpf_prog {
u32 gen_flags; u32 gen_flags;
struct tcf_exts exts; struct tcf_exts exts;
u32 handle; u32 handle;
union { u16 bpf_num_ops;
u32 bpf_fd;
u16 bpf_num_ops;
};
struct sock_filter *bpf_ops; struct sock_filter *bpf_ops;
const char *bpf_name; const char *bpf_name;
struct tcf_proto *tp; struct tcf_proto *tp;
@ -377,7 +374,6 @@ static int cls_bpf_prog_from_efd(struct nlattr **tb, struct cls_bpf_prog *prog,
} }
prog->bpf_ops = NULL; prog->bpf_ops = NULL;
prog->bpf_fd = bpf_fd;
prog->bpf_name = name; prog->bpf_name = name;
prog->filter = fp; prog->filter = fp;
@ -561,9 +557,6 @@ static int cls_bpf_dump_bpf_info(const struct cls_bpf_prog *prog,
static int cls_bpf_dump_ebpf_info(const struct cls_bpf_prog *prog, static int cls_bpf_dump_ebpf_info(const struct cls_bpf_prog *prog,
struct sk_buff *skb) struct sk_buff *skb)
{ {
if (nla_put_u32(skb, TCA_BPF_FD, prog->bpf_fd))
return -EMSGSIZE;
if (prog->bpf_name && if (prog->bpf_name &&
nla_put_string(skb, TCA_BPF_NAME, prog->bpf_name)) nla_put_string(skb, TCA_BPF_NAME, prog->bpf_name))
return -EMSGSIZE; return -EMSGSIZE;