> On Jul 29, 2020, at 4:05 PM, Andrii Nakryiko <andr...@fb.com> wrote:
>
> Add ability to force-detach BPF link. Also add missing error message, if
> specified link ID is wrong.
>
> Signed-off-by: Andrii Nakryiko <andr...@fb.com>
Acked-by: Song Liu <songliubrav...@fb.com>
With two nitpicks below.
[...]
> static int link_parse_fd(int *argc, char ***argv)
> {
> + int fd;
> +
> if (is_prefix(**argv, "id")) {
> unsigned int id;
> char *endptr;
> @@ -35,7 +37,10 @@ static int link_parse_fd(int *argc, char ***argv)
> }
> NEXT_ARGP();
>
> - return bpf_link_get_fd_by_id(id);
> + fd = bpf_link_get_fd_by_id(id);
> + if (fd < 0)
> + p_err("failed to get link with ID %d: %d", id, -errno);
How about we print strerror(errno) to match the rest of link.c?
[...]
> +static int do_detach(int argc, char **argv)
> +{
> + int err, fd;
> +
> + if (argc != 2)
> + return BAD_ARG();
> +
> + fd = link_parse_fd(&argc, &argv);
> + if (fd < 0)
> + return 1;
> +
> + err = bpf_link_detach(fd);
> + if (err)
> + err = -errno;
> + close(fd);
> + if (err) {
> + p_err("failed link detach: %d", err);
And strerror(err) here.