Re: [PATCH net-next 3/5] bpftool: implement cgattach command
On Thu, 30 Nov 2017 13:43:00 +, Roman Gushchin wrote: > + attach_type = parse_attach_type(argv[2]); > + if (attach_type == __MAX_BPF_ATTACH_TYPE) { > + bpf_object__close(obj); > + close(prog_fd); > + close(cgroup_fd); > + p_err("Invalid attach type\n"); > + return -1; > + } > + > + if (bpf_prog_attach(prog_fd, cgroup_fd, attach_type, 0)) { > + bpf_object__close(obj); > + close(prog_fd); > + close(cgroup_fd); > + p_err("Failed to attach program"); > + return -1; > + } > + > + bpf_object__close(obj); > + close(prog_fd); > + close(cgroup_fd); > + > + return 0; > +} Could you try to consolidate the error paths into a one larger handler and use gotos to jump to it? You can see it done in number of places, grep for e.g. exit_free.
Re: [PATCH net-next 3/5] bpftool: implement cgattach command
On Thu, Nov 30, 2017 at 09:17:17AM -0700, David Ahern wrote: > On 11/30/17 6:43 AM, Roman Gushchin wrote: > > @@ -75,12 +80,13 @@ static int do_help(int argc, char **argv) > > fprintf(stderr, > > "Usage: %s [OPTIONS] OBJECT { COMMAND | help }\n" > > " %s batch file FILE\n" > > + " %s cgattach FILE CGROUP TYPE\n" > > Can you change the order to: > + " %s cgattach CGROUP TYPE FILE\n" > > Makes for better consistency with the detach command in the next patch: > + " %s cgdetach CGROUP TYPE ID\n" > > Good point. I'll fix this and will add support for attach_flags in v2. Thanks!
Re: [PATCH net-next 3/5] bpftool: implement cgattach command
On 11/30/17 6:43 AM, Roman Gushchin wrote: > + if (bpf_prog_attach(prog_fd, cgroup_fd, attach_type, 0)) { > + bpf_object__close(obj); > + close(prog_fd); > + close(cgroup_fd); > + p_err("Failed to attach program"); > + return -1; > + } Also, what about support for BPF_F_ALLOW_OVERRIDE and BPF_F_ALLOW_MULTI flags?
Re: [PATCH net-next 3/5] bpftool: implement cgattach command
On 11/30/17 6:43 AM, Roman Gushchin wrote: > @@ -75,12 +80,13 @@ static int do_help(int argc, char **argv) > fprintf(stderr, > "Usage: %s [OPTIONS] OBJECT { COMMAND | help }\n" > " %s batch file FILE\n" > + " %s cgattach FILE CGROUP TYPE\n" Can you change the order to: + " %s cgattach CGROUP TYPE FILE\n" Makes for better consistency with the detach command in the next patch: + " %s cgdetach CGROUP TYPE ID\n"