From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.1 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7BFB3C433DF for ; Thu, 30 Jul 2020 21:15:04 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 56B97207F5 for ; Thu, 30 Jul 2020 21:15:04 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="fq58dfN8" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730551AbgG3VPD (ORCPT ); Thu, 30 Jul 2020 17:15:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:32958 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730292AbgG3VO7 (ORCPT ); Thu, 30 Jul 2020 17:14:59 -0400 Received: from mail-yb1-xb42.google.com (mail-yb1-xb42.google.com [IPv6:2607:f8b0:4864:20::b42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 54A69C061756; Thu, 30 Jul 2020 14:14:59 -0700 (PDT) Received: by mail-yb1-xb42.google.com with SMTP id u43so1910666ybi.11; Thu, 30 Jul 2020 14:14:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=jlenySqGYjDqfgNiiv2qRJyOq42o/NrQ/u5+/K+NrKg=; b=fq58dfN8BGW9HrLIbH+z7cjupbPKELa5W/5uvXWsZxzTkpNtP0OdjOlCIkcZp7p1OF /onazCOtFM6MHQ6BB3EGysRQW9Hc352+mt5Kz7cCs/Ml+1J/hS2jPiGkxD5jsqzy+lVr O8IkPC7ypUt1MyI2MQ7XRDBQHnA/dmc/tbrazzCZcfGgJLgYzSDvD0RMz9MWQSokFmyL xHV0uC7scCbqkDYTZTxG7xsAMNVMzdTL3cBtNVJpRakuQuv71ffwqIaWGNeieaQ0cZZq /FX6W2dyQkQGp9uJfG/5CvJzxO2hys2LmZR4UQgUJehTBdJhU9LI9ntjYYYqoVoBLvpP YnFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=jlenySqGYjDqfgNiiv2qRJyOq42o/NrQ/u5+/K+NrKg=; b=VL9HZhSr40wQ8CH9CjbVTadyWDKIZ9j8oQJHFKmP6wGbO9F/Jf/zyaYNAGrWZ6x9iI MpzAvLBniXpZ6/J3Cjp6CagDEAD3bbfWX19x3bAfRcbkfeP6jfyaPK3sJRw5InbSqFQj lTqScXCcCqqJBVSil9CT4wPzAOYiJUH+Wi9VQEWdNCsQl1J4EPQ/xw1EqPEyb/rzHuHg tC90T5qZVaHIyifgJPOrc3dxZmtT1+XN5xoS02aLHJLbhmp3U4Yz7fwYstoTWtHbZNie JJXjZW3M292M9ZwuD1c5rB21zg5kmPUdNQ+dYIQdjvqXj5dayJioYgwuY48yeueD4jiF Vmbw== X-Gm-Message-State: AOAM531nf2qOuAOqN0KxFhlD2ulKA8mwdkUEpYJocCy76yQ29DxdR0Mk gML+0NohVkWkS3hJErm8DrxRH0BQ0lbVj2B0smU= X-Google-Smtp-Source: ABdhPJzu5Z5nworiX7vwXwiT9YwDw1Hi2G0vXpvGyxCyUtoIZGycf0pZlnp742nZ/4P30oss75+Xq8sfZZeVRNk445s= X-Received: by 2002:a25:ba0f:: with SMTP id t15mr1244225ybg.459.1596143698591; Thu, 30 Jul 2020 14:14:58 -0700 (PDT) MIME-Version: 1.0 References: <20200729230520.693207-1-andriin@fb.com> <20200729230520.693207-5-andriin@fb.com> In-Reply-To: From: Andrii Nakryiko Date: Thu, 30 Jul 2020 14:14:46 -0700 Message-ID: Subject: Re: [PATCH bpf-next 4/5] tools/bpftool: add `link detach` subcommand To: Song Liu Cc: Andrii Nakryiko , bpf , "netdev@vger.kernel.org" , Alexei Starovoitov , "daniel@iogearbox.net" , Kernel Team , =?UTF-8?B?VG9rZSBIw7hpbGFuZC1Kw7hyZ2Vuc2Vu?= Content-Type: text/plain; charset="UTF-8" Sender: bpf-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: bpf@vger.kernel.org On Thu, Jul 30, 2020 at 2:02 PM Song Liu wrote: > > > > > On Jul 29, 2020, at 4:05 PM, Andrii Nakryiko wrote: > > > > Add ability to force-detach BPF link. Also add missing error message, if > > specified link ID is wrong. > > > > Signed-off-by: Andrii Nakryiko > > Acked-by: Song Liu > > 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? sure, will do, was lazy :) > > [...] > > > +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. > >