From patchwork Mon Aug 14 17:36:54 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jeff Layton X-Patchwork-Id: 135586 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b824:0:b0:3f2:4152:657d with SMTP id z4csp2917190vqi; Mon, 14 Aug 2023 11:13:22 -0700 (PDT) X-Google-Smtp-Source: AGHT+IENsDFOQCdzknnfAjBMX5XBigpo4NeTDSltV70Rgo25EOcbdP2LROsIpD6CXT8FoIkUFLkE X-Received: by 2002:a17:902:e844:b0:1b6:4bbd:c3a7 with SMTP id t4-20020a170902e84400b001b64bbdc3a7mr9656807plg.66.1692036802132; Mon, 14 Aug 2023 11:13:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1692036802; cv=none; d=google.com; s=arc-20160816; b=qdqOXQwn+EFo63rZKYOSyFBSnRP6ZjZ64HALkFjN/SaA/F8MZVVDsAqYSRcg4iHEhc LA9IH/n+CijEs6fw6hGcbrzUVWMz0uyL9AW7Haib3Hb+CbdCl0rmQg7Q5cD5ZxMlaAjb lrvHI0MmIsOtQSFjdaf0T1fwLxIwEtHbpR71GqkmzeqLjIumXnwx6/ofZfLTE7Jii2Dh 84k+eL6wVflAuCDxtsVA9RkC4c8AlFqlS3pTbagIu7K8c451F6WaOx5B0/N41E22vt7z L81ily9tfocxTj5pgju86m/m5a4uv26QMZZWSGE58nwQENFx9ILQdJQP+FGZ1OjwxF3U rk1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:message-id:content-transfer-encoding :mime-version:subject:date:from:dkim-signature; bh=pk4PdiTI4mpDsX5DlQJOKRQZAPQ4vidfKBrDqAxeUR0=; fh=2nW7L5ojLAvsB9cdgJKkNKzmfSbb3ErmuPZGkXuFqQM=; b=VLQX66pE7HnK6TXb+xP3eFcEhs7IC+okcVfikFSALZxiX3hWUjbuy95A1G85iTZ/Rq k4Nrk6s8Arab+BaGCDtunF3iom/mOmrEpJGR+rzMgiEPCoACz9qOJ9R67GVJQpPYi4qp aWR10BslhVIL2+LLQsM7sHs8Td4R6tDquB1BYSAd9yNtpIKMhfHOtafnLTVKMpROUXlL 2w1ri4srg/EdWnaERVBBDhVKsEKiOSb6ly1jVnmeKhTgsZww6YVeQPkgGI72cK4/Qw0o WeDx+U1xvP0JPi5WctNTTj+sftazvp6SbO3jILqIQy7obFCU4Sglf4X5fMXu0S+SCkhZ SWhw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=kAz1BARj; 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=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id u11-20020a17090341cb00b001bbd639dff9si8590941ple.467.2023.08.14.11.13.04; Mon, 14 Aug 2023 11:13:22 -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=@kernel.org header.s=k20201202 header.b=kAz1BARj; 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=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230519AbjHNRhc (ORCPT + 99 others); Mon, 14 Aug 2023 13:37:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57228 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231154AbjHNRhF (ORCPT ); Mon, 14 Aug 2023 13:37:05 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1E6B510F0; Mon, 14 Aug 2023 10:37:02 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id AEBA064225; Mon, 14 Aug 2023 17:37:01 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id BFD1CC433C7; Mon, 14 Aug 2023 17:36:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1692034621; bh=cDPlgBw5S5xhkfFBWcoL5zvdNPpfcmEUkF9ljX0IBW0=; h=From:Date:Subject:To:Cc:From; b=kAz1BARj+fy/6hDM8NgaPXUfMGHgk32ZdC4Kfg+Re9UODLQZk5/B3K5pWK/qV2svD wAIdPaZHfZ2tYlrFqaCybahKZPRgHEVqHKsWuF+BYw2Z379CgS0O1Tvsj/cKnBIrau F0dqZ2HOouAOnlRYcAwYysV9YkepoPhFpX7oUQyuA5WxGjmlezTf30L2zOeqX2/kp+ hG+MHZX3hAeFFNx9GSr8RGRWy4MwTZSVe7kCguSpC9tNCPQgwouiI3E7W2Y4ZPIJWW gRjZUCjAdccoHraXKm3YdUoPt8no9K+7yartQz7wBhUB4SvUY8iJq3gRFhRppPFxzD IovYPoZmyRxJQ== From: Jeff Layton Date: Mon, 14 Aug 2023 13:36:54 -0400 Subject: [PATCH v2] sunrpc: set the bv_offset of first bvec in svc_tcp_sendmsg MIME-Version: 1.0 Message-Id: <20230814-sendpage-v2-1-f56d1a25926c@kernel.org> X-B4-Tracking: v=1; b=H4sIADVm2mQC/22MQQ7CIBAAv9LsWQxQGtCT/zA9tLJtNxpoFkNsG v4u9uxxJpPZISETJrg2OzBmShRDBX1q4LEMYUZBvjJoqVvplBEJg1+H6kdpnDWIXpsL1HxlnOh zrO595YXSO/J2nLP62T+TrIQSvuvUKL2dnJW3J3LA1znyDH0p5QtSzhfloQAAAA== To: Chuck Lever Cc: David Howells , Trond Myklebust , Anna Schumaker , Neil Brown , Olga Kornievskaia , Dai Ngo , Tom Talpey , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , linux-nfs@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Jeff Layton X-Mailer: b4 0.12.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=1143; i=jlayton@kernel.org; h=from:subject:message-id; bh=cDPlgBw5S5xhkfFBWcoL5zvdNPpfcmEUkF9ljX0IBW0=; b=owEBbQKS/ZANAwAIAQAOaEEZVoIVAcsmYgBk2mY7awGmJCfeWTAgJEK6AXhpQK9BLSR8YVKkD eC0cjAVIL6JAjMEAAEIAB0WIQRLwNeyRHGyoYTq9dMADmhBGVaCFQUCZNpmOwAKCRAADmhBGVaC FXMmD/99S58weqEFaFFrknujoZRCHQK0ghaf+4FZXASFOik851ITWAa0AFylrb0WMRfmvZ/p8Nj gsMuJQw1ULJB62jrorHKag3is7uzp+6kn0acwowaPlvGGPEK6yjkuOk/klovWk3QjdROM+/Rvn5 7wHwCxSvMgoLhWVpJC5zx1wifiYMdW7TKJanfX1ckgTxc67+2XRC0vskr1/aauqgPjcaXDx/RvA MEq8dkI/0R3eFB1AUtRZvgKSrBOg+RwFIq4GjQ5FoG9OvVt/ofONz0vQZgl5QCwfbLtyA0BfC6G AM6S7T3vwURd5f3S+bIL4pkzdhWyAuqeHGdsB6HlvD9m1+rAzlw7bWqb7+Qi9AK55UECcEGZb6p 3a128ouN6h6vArdYh+T2RcvZzNODkZtsYuvDe7ABhQFbwIeTfuUxFQG+ZETxp7ILIFJ5I5GnvRU JSu9AZsNKlPgvPjXwu5+LVxHRL+6miQPrRy2tmMbJQ2jtLXvGtjdWza8hWpptchzOpsYmrVBWZA DGzDHrne0tppUgwrieYFPxyIeSJBuLE747shk8d7vn0Qnt7YMiMD+m+JRsWvnQyw/UaoZhWvbnB XeYTsZJaMJ1u18dALl/Buxe2tlutIbOdhiI1tzzHFRiMEtDiqXEqKFqBqeZwKwf/zF+Dcw8wlh+ LZed3xv98zDCdAA== X-Developer-Key: i=jlayton@kernel.org; a=openpgp; fpr=4BC0D7B24471B2A184EAF5D3000E684119568215 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1774229182107679423 X-GMAIL-MSGID: 1774229182107679423 svc_tcp_sendmsg used to factor in the xdr->page_base when sending pages, but 5df5dd03a8f7 dropped that part of the handling. Fix it by setting the bv_offset of the first bvec. Fixes: 5df5dd03a8f7 ("sunrpc: Use sendmsg(MSG_SPLICE_PAGES) rather then sendpage") Signed-off-by: Jeff Layton --- Changes in v2: - limit the change to just svc_tcp_sendmsg --- net/sunrpc/svcsock.c | 3 +++ 1 file changed, 3 insertions(+) --- base-commit: 2ccdd1b13c591d306f0401d98dedc4bdcd02b421 change-id: 20230814-sendpage-b04874eed249 Best regards, diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c index e43f26382411..2eb8df44f894 100644 --- a/net/sunrpc/svcsock.c +++ b/net/sunrpc/svcsock.c @@ -1244,6 +1244,9 @@ static int svc_tcp_sendmsg(struct socket *sock, struct xdr_buf *xdr, if (ret != head->iov_len) goto out; + if (xdr_buf_pagecount(xdr)) + xdr->bvec[0].bv_offset = offset_in_page(xdr->page_base); + msg.msg_flags = MSG_SPLICE_PAGES; iov_iter_bvec(&msg.msg_iter, ITER_SOURCE, xdr->bvec, xdr_buf_pagecount(xdr), xdr->page_len);