> On Jul 29, 2020, at 4:05 PM, Andrii Nakryiko <andriin@xxxxxx> wrote: > > Add ability to force-detach BPF link. Also add missing error message, if > specified link ID is wrong. > > Signed-off-by: Andrii Nakryiko <andriin@xxxxxx> Acked-by: Song Liu <songliubraving@xxxxxx> 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.