Received: by 2002:a05:6358:9144:b0:117:f937:c515 with SMTP id r4csp702787rwr; Fri, 5 May 2023 03:56:16 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7tJNuaXIdkQO/wxcfx9cVBwB81CsFKwlQWQycnKqstlOkF2hHQrV49i9Yno4C7yIbI209l X-Received: by 2002:a05:6a20:3d09:b0:ee:f290:5b5e with SMTP id y9-20020a056a203d0900b000eef2905b5emr1379241pzi.43.1683284176064; Fri, 05 May 2023 03:56:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683284176; cv=none; d=google.com; s=arc-20160816; b=lV04Xy8CKcPOm5gXFxm9qG0/441j+1OCEuRzE/tAgFGc0d1PI2lRV0CEckaexiw/Tu j9PLW5PsutriPtPD7BbFe0dwCpXlKCooe6Hh7el4arewselK0m3ZZCYmG0KZ9mfPnwLK L9m6dGVQ6VB5ksloS4KgwW9JEUd8mNSQMAX5YxB2NVHc0TGfTm6Zz1lCV2ZaHVMDtkfy 8xYJkzvTKfqGChRh4afT2jlOnRdx/LSR9RRP2/yPkIvWT4Xj7vv/9dxw3gQ4a/xX4qRB 7yM9qiBPEOMADIMMZF8GMJWNjGMggTPwKLKlS3u/fMJcYCSC/fkEA8ThgQfNZo2mIGkC baHw== 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=6wlVvS1v7N/COSWgkkDH9X2UEC2lG92A8iSjKf25mMI=; b=DdXbbG7KRJTx18VQcTcduerjITPpPL7AgpvN1kSBst/2miJDL4FZpq/75A3GBiGpCx VuNNJs2ULFEwdtj7ER3uW7CDXNz4wdL6vHoLcAMZsYoN7uQgR3PKF8k3XGOtpLej2hyr G5J1iAwvz03wOgjTGiePqZwo8mqwJmicIFRSJsqVc05SN9TEkqR1cWVCoq8JtSmI5Olc ZSAu7dZqlCDleRybdIHRWfuzEtAgJbhxJ25MqlhpvB2xI571M7Jrky6Lu7QtAVkd7Z1t 8xJu8Mb6VUerlS+SiSzFQcB4Oo9WoRpaM8OnL0dhraCVwJdJG0xqE0XlSC4D/U//sSI/ 686w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20221208 header.b=XSlwE98p; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t13-20020a63780d000000b0050f8a43b1b9si1762688pgc.187.2023.05.05.03.56.01; Fri, 05 May 2023 03:56:16 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20221208 header.b=XSlwE98p; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231637AbjEEKhk (ORCPT + 99 others); Fri, 5 May 2023 06:37:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42984 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230233AbjEEKhi (ORCPT ); Fri, 5 May 2023 06:37:38 -0400 Received: from mail-il1-x12f.google.com (mail-il1-x12f.google.com [IPv6:2607:f8b0:4864:20::12f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D93B910DD for ; Fri, 5 May 2023 03:37:37 -0700 (PDT) Received: by mail-il1-x12f.google.com with SMTP id e9e14a558f8ab-3330afe3d2fso65085ab.1 for ; Fri, 05 May 2023 03:37:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1683283057; x=1685875057; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=6wlVvS1v7N/COSWgkkDH9X2UEC2lG92A8iSjKf25mMI=; b=XSlwE98p2kAwpjEeJx68OQtPMW7TbCflWFyrALwVMXLNfOqSO0/nGdGMX/2sUEzh/N VQRIUvDHe2G5r6leZDY6kHSyUfXxdaabOivZeFT8Gzgp54ryrT3DAKg/aVw/0BnrP05u jjVexGnlq0cMPgsUT5zJmhuANwvKB9IfFkQzFeO9jziLeRIpGD3++sptt5DSLkuYqb9q bU9EQ79beGjnWlFwMh3R1xoEK3gaCQIa1RdPyvet55L/6JQdYVfhpOczXp5It+RztYYP F0GfcT9spxgaYY5K1a8O62ya/pYMTSlIdGu3zb1m6X7aoiwpDw6nkwmyE8m/P6SexMz9 qTog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683283057; x=1685875057; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6wlVvS1v7N/COSWgkkDH9X2UEC2lG92A8iSjKf25mMI=; b=WxjprsQjAvFGojgs6cC2kifxCBuQGvcETvYz45GHWTqmXZcGw2oToR1T643YJDfnj6 qfpQ+WHAGlCIKsCUfN0lOOUP+DRTdzdCtQQBXAsHeTQJMzDk2ntU72mJbKThZrBXosW6 nPa4mhxLCJZQtCe+B3fA1g9oUf1s7BZy8JN6be4gkWk4IC8QeEhIK268ELZNyyhCJ4IN HAcllevHOFkOMdtJfbPUBM6C/zL4BrSlJJyeNWGR1rjlbnQ+LtO09Drx0zO7vxrQoFMj aKU9/ufRTpqnNPALyUU2E1U+zcr8uKSxO9RA+7IRzm0bOt7Fbkso2Iqjte7vzAa5hFrX WuHg== X-Gm-Message-State: AC+VfDy//WOwphd2i0yY9zN374/+LGW/yiUnz0wDo5gSg1L37NnD3seX 7OlEy6RE+JL4eKQ7S9bxdf8DafTp5rSYGSJCU9jumA== X-Received: by 2002:a05:6e02:1b0d:b0:331:948c:86f3 with SMTP id i13-20020a056e021b0d00b00331948c86f3mr106180ilv.19.1683283056873; Fri, 05 May 2023 03:37:36 -0700 (PDT) MIME-Version: 1.0 References: <202305051706416319733@zte.com.cn> In-Reply-To: <202305051706416319733@zte.com.cn> From: Eric Dumazet Date: Fri, 5 May 2023 12:37:25 +0200 Message-ID: Subject: Re: [PATCH] net: socket: Use fdget() and fdput() To: ye.xingchen@zte.com.cn Cc: davem@davemloft.net, kuba@kernel.org, pabeni@redhat.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-17.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,USER_IN_DEF_DKIM_WL,USER_IN_DEF_SPF_WL autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, May 5, 2023 at 11:06=E2=80=AFAM wrote: > > From: Ye Xingchen > > By using the fdget function, the socket object, can be quickly obtained > from the process's file descriptor table without the need to obtain the > file descriptor first before passing it as a parameter to the fget > function. > net-next is currently closed. There are good reasons we have sockfd_lookup() and sockfd_lookup_light(), you probably should take a deeper look at the difference between them. > Signed-off-by: Ye Xingchen > --- > net/socket.c | 9 ++++----- > 1 file changed, 4 insertions(+), 5 deletions(-) > > diff --git a/net/socket.c b/net/socket.c > index a7b4b37d86df..84daba774432 100644 > --- a/net/socket.c > +++ b/net/socket.c > @@ -528,19 +528,18 @@ EXPORT_SYMBOL(sock_from_file); > > struct socket *sockfd_lookup(int fd, int *err) > { > - struct file *file; > + struct fd f =3D fdget(fd); > struct socket *sock; > > - file =3D fget(fd); > - if (!file) { > + if (!f.file) { > *err =3D -EBADF; > return NULL; > } > > - sock =3D sock_from_file(file); > + sock =3D sock_from_file(f.file); > if (!sock) { > *err =3D -ENOTSOCK; > - fput(file); > + fdput(f); > } > return sock; > } > -- > 2.25.1