Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp505746pxj; Wed, 2 Jun 2021 04:52:12 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzUHzNanW/lKQcea245aEt6UB14sKDuC3S9i1ebAvrOblbUpp2Wc6GU51ab1O/9t8qhJV8/ X-Received: by 2002:a50:c446:: with SMTP id w6mr37940240edf.62.1622634731837; Wed, 02 Jun 2021 04:52:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1622634731; cv=none; d=google.com; s=arc-20160816; b=i5KIql218sBE83j3dHPH/UqzSLERvTd/0HmQP8TAqWnAXk0SlC3IXtJBf9PMDDThfS T+UFmCNggJiTCwIrOL31BDV+aHuGWzN2G2My8L2xioqglC9NETcXoRdPRzR61EhAASFo EdiYwEUz9HJXZC1dFqlJ0oTtsz/P076E2m9aQTkYAGnzNiuDkUz59zwCuAecx/JIyk5b yOl9FFnbfb79dL4IrYTzIN1MoIc9Fn3kTJjt/QZsd0o3ip2JuaErjQ20Oi6YzyT1Uw/8 0cD7gYI+1aYT46+Mt54uHEz2vtsiT1pHFkSNQiUdEzfX7eJw25lJyMNoT3B17RuvyCAE qeMw== 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=3jN1riE8G5x/joSgn6CfxsOWR+MfQo/IZ4OM91hdWRU=; b=WRzPK53lkKcnb1PmrvlhzjRv5JW9kIGYLTfksSrIbAq4SK++1+enrliNqwwmUtVDOs LqE5Wqfcf01qwM/mlUhekGzBQw5KFdQthLjY4isibp42PgP1nSc6FeslNh0YN80zxFPh 4qkfMCxBQkiet8LijEvlTLIsQqPO/rIb2tppQiv5PIjYIaj25r+/dJPP5J/7nLwktrxU Hf+fYqj1VhXglNkgeE9RqXIBmepMr442B+SC97gIt4PlYBr3ow2j1m8PCeMoTetG9+G0 zstf79dlBrN86yTsVSyzn/XgNsQpI/G8MU1HLK0cjjLNNVtJPEj2vVWqBS3/GkIelzE9 cymA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b="XZU0/5ki"; 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 s18si21688647eji.591.2021.06.02.04.51.49; Wed, 02 Jun 2021 04:52:11 -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="XZU0/5ki"; 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 S232903AbhFBIzx (ORCPT + 99 others); Wed, 2 Jun 2021 04:55:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47264 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229959AbhFBIzt (ORCPT ); Wed, 2 Jun 2021 04:55:49 -0400 Received: from mail-pl1-x636.google.com (mail-pl1-x636.google.com [IPv6:2607:f8b0:4864:20::636]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7A605C061574; Wed, 2 Jun 2021 01:54:05 -0700 (PDT) Received: by mail-pl1-x636.google.com with SMTP id u7so762358plq.4; Wed, 02 Jun 2021 01:54:05 -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=3jN1riE8G5x/joSgn6CfxsOWR+MfQo/IZ4OM91hdWRU=; b=XZU0/5kihTt1Fi5lrecm22ldzuh1Z2j9FstXTpn0PlY3qTcINdmC9RcSfoEQ1xiXMA 95aXNc3q/HsQL1Jk6ygkSS2wXzcHu9SARdpmZ7gSJUqXYsJjwcsXw38kE+AZ+nvglZef 34RV21IbdUiRv6IbsE552aI/z6s456Eai+7IqCa+klsJAEXqdFQUlWraEPHrOBUf/dwg TyNG9gUOMNvvxqVqQM09JXxM1KUjjk5XACh0Kn5vkBWHenlzVT8DxUa+iQIHcb2GDUV1 bYcULpOBdi/vB6bgwU1Y+d26N3F6n69AVqUJxkn7X7cb9SMjRHL1/kBUZ172oBIwSn1i uTaA== 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=3jN1riE8G5x/joSgn6CfxsOWR+MfQo/IZ4OM91hdWRU=; b=cR5Znf4kYnsL4VLEIWpEgi6RZPT+vOjBiVLILXFtJc79ZsiFoEAJoIvtrRHiWvpW/p R46F7uTVQ/GcZHHnaYYt87jxq6XFIP6CBGHFg6p+W0JM26gIfMHjATjustemsS0bQMV1 DE9QvpT86agJGPL3fehMuWRqgBBdhFCUTmdNwjYmbgJpuwJLlYrpbovoX/o7x41xyX3c eLOzj+Te5FAIvQJkAQUMG2LyrsRsqpdFNe9nBBpefq9FaJATE/CXL1KK7URJpUjAYEB5 1B8jRj7TeSc6Rgil6jXMa4gPrvcr/dU1cneTJhkk17drIqXNKDc+b9jWmia9Qe6FGZTI oIIQ== X-Gm-Message-State: AOAM533Cak8UnsW5SCW5tBxxwLz4ISULegfphUdas6H30VIIMFI2Qxe1 eH1jOQkhlMDoPpyTTTQRLYJ0HhB9/5vaPw+RwfY= X-Received: by 2002:a17:90a:a08c:: with SMTP id r12mr4431756pjp.204.1622624045045; Wed, 02 Jun 2021 01:54:05 -0700 (PDT) MIME-Version: 1.0 References: <20210602031001.18656-1-wanghai38@huawei.com> <87a6o8bqzs.fsf@toke.dk> In-Reply-To: <87a6o8bqzs.fsf@toke.dk> From: Magnus Karlsson Date: Wed, 2 Jun 2021 10:53:54 +0200 Message-ID: Subject: Re: [PATCH net-next] xsk: Return -EINVAL instead of -EBUSY after xsk_get_pool_from_qid() fails To: =?UTF-8?B?VG9rZSBIw7hpbGFuZC1Kw7hyZ2Vuc2Vu?= Cc: Wang Hai , =?UTF-8?B?QmrDtnJuIFTDtnBlbA==?= , "Karlsson, Magnus" , Jonathan Lemon , "David S. Miller" , Jakub Kicinski , Alexei Starovoitov , Daniel Borkmann , Jesper Dangaard Brouer , John Fastabend , Network Development , bpf , open list 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 Wed, Jun 2, 2021 at 10:38 AM Toke H=C3=B8iland-J=C3=B8rgensen wrote: > > Magnus Karlsson writes: > > > On Wed, Jun 2, 2021 at 6:02 AM Wang Hai wrote: > >> > >> xsk_get_pool_from_qid() fails not because the device's queues are busy= , > >> but because the queue_id exceeds the current number of queues. > >> So when it fails, it is better to return -EINVAL instead of -EBUSY. > >> > >> Signed-off-by: Wang Hai > >> --- > >> net/xdp/xsk_buff_pool.c | 2 +- > >> 1 file changed, 1 insertion(+), 1 deletion(-) > >> > >> diff --git a/net/xdp/xsk_buff_pool.c b/net/xdp/xsk_buff_pool.c > >> index 8de01aaac4a0..30ece117117a 100644 > >> --- a/net/xdp/xsk_buff_pool.c > >> +++ b/net/xdp/xsk_buff_pool.c > >> @@ -135,7 +135,7 @@ int xp_assign_dev(struct xsk_buff_pool *pool, > >> return -EINVAL; > >> > >> if (xsk_get_pool_from_qid(netdev, queue_id)) > >> - return -EBUSY; > >> + return -EINVAL; > > > > I guess your intent here is to return -EINVAL only when the queue_id > > is larger than the number of active queues. But this patch also > > changes the return code when the queue id is already in use and in > > that case we should continue to return -EBUSY. As this function is > > used by a number of drivers, the easiest way to accomplish this is to > > introduce a test for queue_id out of bounds before this if-statement > > and return -EINVAL there. > > Isn't the return code ABI by now, though? You are probably right and in that case this should not change at all. It has been returning this for quite a while too as it is nothing new. But I leave the final decision to other people on the list. > -Toke >