On Jul 29, 2020, at 4:05 PM, Andrii Nakryiko [off-list ref] wrote:
Add ability to force-detach BPF link. Also add missing error message, if
specified link ID is wrong.
Signed-off-by: Andrii Nakryiko <redacted>
Acked-by: Song Liu <redacted>
With two nitpicks below.
[...]
quoted hunk ↗ jump to hunk
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.