On Thu, 30 Nov 2017 13:43:00 +0000, 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.
From 1585510237259751156@xxx Thu Nov 30 16:46:31 +0000 2017
X-GM-THRID: 1585498885690075033
X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread