Received: by 2002:a05:6358:9144:b0:117:f937:c515 with SMTP id r4csp597629rwr; Fri, 5 May 2023 01:56:49 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4ZUpLV7kZqdshVjsKHWOm/umrrz+3ukQvs+5tABoBNLLnNIoapn+KVeh38+3g0qbzs/GQS X-Received: by 2002:a17:90a:d106:b0:247:3895:e416 with SMTP id l6-20020a17090ad10600b002473895e416mr743375pju.16.1683277009394; Fri, 05 May 2023 01:56:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683277009; cv=none; d=google.com; s=arc-20160816; b=xQgN0VkxHFvCUJtkP4eNWYZ+tZHffWi3M2FkWWzm3Uhg2QCaMCKet2Pc4fx/KGCU98 nsrOd/8wIaxKwu30b0gdiLZ/O3Qx2rMV1IEkDHmQMLVPLnHhtm+kRZUJcOaIRsdjM9eQ W+3Jm/yCESJG2b0jX8I7qsxGSzjjmY0yBx4+eweJs6HUVAyMopBRI9TkQZvFzgLQtQ+b JiktIu1YHUjNRKsQAtpfiJsIIQ2u7mcjLr2c0KATXwKo15wsmBV5IIWZTgdXxEK3FNIx GT45Hvg1nKEztQuB1m5cLWAUS6DtyFYdYrS5ypRtyqG63jinnZXJ4wnMQkpYx8JVOnHY DwKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=NXc+JQG7sjSWV4KJri3HwwYNBJnjv1LP700li+2vJpk=; b=f6WkYtlXcZFPtly1Eo3pJC14Thf8qIpjEq0Zj+OFCnKwaZWMRw8+I/nlub+CCIDRb9 uEJAm7ydJ8w+DECTLu4CD+NmS7vQQMGyiqvlvjGpuXNIOZgmocALnravwh+CgD1xfBI2 P1o4acN0lqBqQwld0frqahpqrZfq9EBgf3J6jY/WCMVNNfjhcmfa5J2d4BvpBmgNaNYU 2H2guKXRHenZGo2Qx3WKG+dIlc5XqATS3rM2rh2DWqex3OrprJrVV1CFGnz7ugMFnvmr 2cXSXvAP0Bg6eDBj+kgol9eEfU+OHOO0yp6TZ/SFW41RhLVw831cYt8JCkWiBXzVSdCf s7hA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=liAzfXMg; 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=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ce19-20020a17090aff1300b002474fac337dsi6114058pjb.30.2023.05.05.01.56.33; Fri, 05 May 2023 01:56:49 -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=@gmail.com header.s=20221208 header.b=liAzfXMg; 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=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231309AbjEEImH (ORCPT + 99 others); Fri, 5 May 2023 04:42:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41620 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231553AbjEEImC (ORCPT ); Fri, 5 May 2023 04:42:02 -0400 Received: from mail-pf1-x42d.google.com (mail-pf1-x42d.google.com [IPv6:2607:f8b0:4864:20::42d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 744F214922; Fri, 5 May 2023 01:42:00 -0700 (PDT) Received: by mail-pf1-x42d.google.com with SMTP id d2e1a72fcca58-6436e075166so1172330b3a.0; Fri, 05 May 2023 01:42:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1683276120; x=1685868120; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=NXc+JQG7sjSWV4KJri3HwwYNBJnjv1LP700li+2vJpk=; b=liAzfXMgF8QV+ZOFlitv2hJtS68QoDWaYGNh8NoIcx36fuuhim2DdXllAO4i7tEPzc dS6LxplAUdKdNLxG525Wbs+S6KLYjoBo2J2BolqUDiI0AHnwcBUnXpr/lux1hDLVyqyf X+dUKTPgND7Ei8YAs5tNaASMCWmpgFzeUkhiXFo8MEGSpsEpDHYhrOBOtmrWDGBsN/4J BuweeYGvlgT6402JsCy17TPqGjUTSZTwrgkrx4ou0XkYUSFBtVQyuyj3ihYF5QxboB2h dZ/+rQULLigILUvmKTapkmK/JviuRUy/z2s3dO7C0dZErKlEzGCQi42U8A/1FHsIQWp7 v4ew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683276120; x=1685868120; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NXc+JQG7sjSWV4KJri3HwwYNBJnjv1LP700li+2vJpk=; b=foW7aRTpIEXD9oYr8V3GvKrEY0prsYJfPUb5+hTXWkn79gACxA3NGDZLpSOI/3fsM1 k1HFPcQEMt/0mh60kWYZKiMRQdGPnjD2FNKVxPVLLjaIlSexoTJbo0Dy/fNsbfnR/9hZ OfAb5eZsA33hoP6flfxecPd5+BGnHvxXV5MAbgXVzP4Zv27s9oRZhs5jFTV5woht8peq Pgw4iksIOqL7bcsNq9eQ2WxJHGehQ6STN6hUzWEugnMNTUv4eWymqoHgVcQQCO4ewh+H 6rC6JVL58fEs3+F7ze4yt4DlsYGS6W7ii4rfCRjJ8e3wqxv1R9DC/ludm4271BRW695x D7cA== X-Gm-Message-State: AC+VfDzIH+Mfw4J7DEjTIjg8Q96KCR71yMkH7WLlSxHu6DWvCleHhADR xD4kpUvmoppTz3IRVKF171E= X-Received: by 2002:a05:6a00:240b:b0:639:28de:a91e with SMTP id z11-20020a056a00240b00b0063928dea91emr1419883pfh.17.1683276119558; Fri, 05 May 2023 01:41:59 -0700 (PDT) Received: from localhost.localdomain ([193.203.214.57]) by smtp.gmail.com with ESMTPSA id g13-20020aa7874d000000b0063b6bc2be16sm1119416pfo.141.2023.05.05.01.41.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 05 May 2023 01:41:59 -0700 (PDT) From: ye xingchen X-Google-Original-From: ye xingchen To: jasowang@redhat.com Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org, mst@redhat.com, netdev@vger.kernel.org, virtualization@lists.linux-foundation.org, ye.xingchen@zte.com.cn Subject: Re: [PATCH] vhost_net: Use fdget() and fdput() Date: Fri, 5 May 2023 16:41:55 +0800 Message-Id: <20230505084155.63839-1-ye.xingchen@zte.com.cn> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=0.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SORTED_RECIPS,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=no 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 >> >> From: Ye Xingchen >> >> convert the fget()/fput() uses to fdget()/fdput(). >What's the advantages of this? > >Thanks >> >> Signed-off-by: Ye Xingchen >> --- >> drivers/vhost/net.c | 10 +++++----- >> 1 file changed, 5 insertions(+), 5 deletions(-) >> >> diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c >> index ae2273196b0c..5b3fe4805182 100644 >> --- a/drivers/vhost/net.c >> +++ b/drivers/vhost/net.c >> @@ -1466,17 +1466,17 @@ static struct ptr_ring *get_tap_ptr_ring(struct file *file) >> >> static struct socket *get_tap_socket(int fd) >> { >> - struct file *file = fget(fd); >> + struct fd f = fdget(fd); >> struct socket *sock; >> >> - if (!file) >> + if (!f.file) >> return ERR_PTR(-EBADF); >> - sock = tun_get_socket(file); >> + sock = tun_get_socket(f.file); >> if (!IS_ERR(sock)) >> return sock; >> - sock = tap_get_socket(file); >> + sock = tap_get_socket(f.file); >> if (IS_ERR(sock)) >> - fput(file); >> + fdput(f); >> return sock; >> } >> >> -- >> 2.25.1 >> fdget requires an integer type file descriptor as its parameter, and fget requires a pointer to the file structure as its parameter. 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. This reduces unnecessary operations, improves system efficiency and performance. Best Regards Ye