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.

Reply via email to