Received: by 2002:a05:6a10:17d3:0:0:0:0 with SMTP id hz19csp2592225pxb; Mon, 19 Apr 2021 09:07:03 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwHMVOVaqKTPSAFJT9u1pzxNfgou7kkMrdqVzo5YY5o2lYyZLrf0zcS/wS/PcK1FTmELMV8 X-Received: by 2002:aa7:c4d5:: with SMTP id p21mr18966584edr.346.1618848423568; Mon, 19 Apr 2021 09:07:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618848423; cv=none; d=google.com; s=arc-20160816; b=Z2ostVsQ53/Ev+hXJqqyxmIOE6KEvDjkEdGMiXILLl/nRnjDFuvYe90OBZe4sdZb3Y CpwQDr7SY/2mMIptZC+IDEKIy6UKLQbjZoJZeVuf19daoMoPPangJG+0XvuBAEqXsbfV racVq2724Gfp1F/P4N9tGJTMmoYHm7wdeC3zvZbv6Mj13U/PCyuoDD57YaCtOR+Q+k3L km2PccU90zqN9rwb8FL5Ia/NekobYK2whR9RvGwYJQM01Yna9E8BfoDfJ8bOiWCOHqrB HulJJyqoiFrTgPW9IDw+I7ISPsuqCeJVqpc3D+YXSxiy6rhID1YddofAZR0/e96qKw2s 3SAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=7tmme4pRYd93LTaqtaN5mHl4x1cZSgoWzQ2PDBJdLng=; b=xWLkyaCdhIpngxad2pPmAsh/Nuur2Wm25bhWBpjSAeLkBwxOJKkUv5I39GkiiSYuUT sbK9yxRNzR6jYZojFda/as+QIr+1EW2v+dD5+y6xllAId8acMdBw+/OaCjjwY0xL9wx/ /Xftt0FbsloGyCDRPV+NOWHSV7fBYPrHf1gYa0wf6QGzESn9qvC8LT//Ulp6Fo3ISjfn VkXQQZADMBMiOWwkDMi0ulcqZnxmjDjUiPC8clzPxSVkCb+WoFFZZx4fmgnQ3/obeHvX 5aBi4Qqp7y12PoQ4NgufSfSRrTZIvQsV53AjjLqyKoDSw+yuA7M7oTKHQ07EUNVH7lrt 1fCQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=JR3Wf17T; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id ds10si15021956ejc.719.2021.04.19.09.06.39; Mon, 19 Apr 2021 09:07:03 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=JR3Wf17T; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240031AbhDSOde (ORCPT + 99 others); Mon, 19 Apr 2021 10:33:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47292 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232302AbhDSOdd (ORCPT ); Mon, 19 Apr 2021 10:33:33 -0400 Received: from mail-lj1-x231.google.com (mail-lj1-x231.google.com [IPv6:2a00:1450:4864:20::231]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8A808C06174A; Mon, 19 Apr 2021 07:33:03 -0700 (PDT) Received: by mail-lj1-x231.google.com with SMTP id a1so39636232ljp.2; Mon, 19 Apr 2021 07:33:03 -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:content-transfer-encoding; bh=7tmme4pRYd93LTaqtaN5mHl4x1cZSgoWzQ2PDBJdLng=; b=JR3Wf17T/Ilg5kJ8ARhsGu1audbYrS6bCxmzxtDcShkkYahcf9HJWm7lH++28bzIXj StObiFHebdhHmXQ0KIwLa3mJ9Pvw4xuWh+r231y5bG2VXGwLh6euxZjYPHdKFiTq4/zd LzpiHUqvf83Zbpqz+OtH/2OB062g+FVgfh/k2KYVnIFAnfF90+HoEXZNGgUYTTLauFDS LnJjD0gCSkelxAOd5EmeFiz1+12xZr+Mdi7dCGTQlQiXIDEZA0uhRt+pBs0GjxUSlZHM lLdAVWPUGpxN4rPrpttB6pKwtT2KXGHtYR8rcJZKrWqN2FQANdr+G0hLDNVr+7VnbqHW A47w== 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:content-transfer-encoding; bh=7tmme4pRYd93LTaqtaN5mHl4x1cZSgoWzQ2PDBJdLng=; b=c2fUNabEqLMuOgr06pWa6q3rF6/OTTxX6FmTZNTbKEwZj01V5YBjNBHcsd440uNou1 l7/+XvaT7VCv6M0znupoeoZGmYJcWPrOSpg/toHgcpHzu1Hz2cRkOqRbPDgWaXGCTT9g ITEA4QbWDpapXdcfC0okdF4DI2Hok0Qk2rxA3rKxVKepsUK+/oZjFrgWynzS07wsV/t1 SnMPWWotb5xHAzECK0ZrSIPoEX5Gbh3xoynSlLcOpFbz4SCE6nkSVOcukWt6soH0P00C E22QNJxFt0KOLGyyO/1ETq8h6JEMk8R7l4+xpY8d8BK93uUX21yPtk0LtOiQ+hc+0Hr+ pATA== X-Gm-Message-State: AOAM532hQ/p9DNl4wsmtpf48iVWSHbOWmTtzelkPRPuCEmB4g2mOn0rn FZVOxYHvPLkkh5lgLegnG6l0QIzS+rxCCZBg/+o= X-Received: by 2002:a2e:8356:: with SMTP id l22mr1609707ljh.204.1618842782059; Mon, 19 Apr 2021 07:33:02 -0700 (PDT) MIME-Version: 1.0 References: <20210418200249.174835-1-pctammela@mojatatu.com> In-Reply-To: From: Alexei Starovoitov Date: Mon, 19 Apr 2021 07:32:50 -0700 Message-ID: Subject: Re: [PATCH] bpf: fix errno code for unsupported batch ops To: Pedro Tammela Cc: Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , Martin KaFai Lau , Song Liu , Yonghong Song , John Fastabend , KP Singh , Network Development , bpf , LKML , Pedro Tammela Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Apr 19, 2021 at 6:52 AM Pedro Tammela wrote: > > Em dom., 18 de abr. de 2021 =C3=A0s 19:56, Alexei Starovoitov > escreveu: > > > > On Sun, Apr 18, 2021 at 1:03 PM Pedro Tammela wro= te: > > > > > > ENOTSUPP is not a valid userland errno[1], which is annoying for > > > userland applications that implement a fallback to iterative, report > > > errors via 'strerror()' or both. > > > > > > The batched ops return this errno whenever an operation > > > is not implemented for kernels that implement batched ops. > > > > > > In older kernels, pre batched ops, it returns EINVAL as the arguments > > > are not supported in the syscall. > > > > > > [1] https://lore.kernel.org/netdev/20200511165319.2251678-1-kuba@kern= el.org/ > > > > > > Signed-off-by: Pedro Tammela > > > --- > > > kernel/bpf/syscall.c | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c > > > index fd495190115e..88fe19c0aeb1 100644 > > > --- a/kernel/bpf/syscall.c > > > +++ b/kernel/bpf/syscall.c > > > @@ -3961,7 +3961,7 @@ static int bpf_task_fd_query(const union bpf_at= tr *attr, > > > #define BPF_DO_BATCH(fn) \ > > > do { \ > > > if (!fn) { \ > > > - err =3D -ENOTSUPP; \ > > > + err =3D -EOPNOTSUPP; \ > > > > $ git grep EOPNOTSUPP kernel/bpf/|wc -l > > 11 > > $ git grep ENOTSUPP kernel/bpf/|wc -l > > 51 > > > > For new code EOPNOTSUPP is better, but I don't think changing all 51 ca= se > > is a good idea. Something might depend on it already. > > OK, makes sense. > > Perhaps, handle this errno in 'libbpf_strerror()'? That's a good idea. > So language > bindings don't get lost when dealing with this errno. I'm not sure what you mean by "language bindings". In general, strerror is not that useful. The kernel aliases multiple conditions into the same error code. The error string is too generic in practice to be useful.