Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp3074541ybz; Sun, 19 Apr 2020 17:05:37 -0700 (PDT) X-Google-Smtp-Source: APiQypJKo3KPUm60JMXUdayPkCRzFXh/WkXVIxQOMTpLMn0YP1uVUJCVjhg+XTrFXXJs/GZyVYyS X-Received: by 2002:a17:906:7383:: with SMTP id f3mr13132512ejl.197.1587341137524; Sun, 19 Apr 2020 17:05:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587341137; cv=none; d=google.com; s=arc-20160816; b=XcgMnq9QheHp7zjAnjlAHKSX3aqFTq4FA0iKQv/zZhEDbNoGwUGSQrucr/EcOx72xB VXniMxryUtxz3OFGnOVbZx0qoEi8tD7mp3mwpwh/g13Y5wkY/BDniQab17W1y4BQbGPN yoYkVAM1TwgXidN5K3hJzxtGg5pcytaZYOELf8am1EabqUif1/oP4JLTYkImknR1qLds rl0fvJUlIczEh3MH5Snm+tJ1L39ma0l9LZvG8gV4MVnvUktZnQ9lxxR339Y8Ge5C3DgR Fy4WbrjtlFiR1wMvLnAG/iJXKzW0KDnhcgLvehmW3jbGYtZfSpOY8yyXKf5PKmBHLazQ A4Sg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:cc:to:from :subject:dkim-signature; bh=0W2mBwo/aBMrh7K/c/cKr1aNbLZU2A1Qz0rlYtVDZfM=; b=yfBLqRm9bo6t/CZmFChDuSDGpAdqTUmLAJOTeumDbzcDKrDzNDZI1lTNjfxu8fffgY Ctrr+kp9jIcnRZKBwRI2rBh9YM7SM/RsLseLWL5Dkv1VBpNG8Nq0ky0PwKsyTuTMUsex cbkGcTMN1wKPmNQBcli/ahy7flpC2NdlZsnuLNNb9LEIBandOpKVaZCOMHK/0fnGWoEm GOFPMzEv8z0UNQ5xtwpCyJDKfJ53h4u7EkevOgSx6ZOWN+31zYPZp2qlPzTBuPdVmTuM STo6uhTyoBEuYgR7loCCt3y8OBt7gKHZYxLvKNJ3xd78+DIiMMy5Q4GwqXcHXeYOIrMQ 7JPw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=r3ioTpsy; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=oracle.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id k26si10212105ejs.504.2020.04.19.17.05.14; Sun, 19 Apr 2020 17:05:37 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=r3ioTpsy; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725991AbgDTADN (ORCPT + 99 others); Sun, 19 Apr 2020 20:03:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56962 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1725947AbgDTADN (ORCPT ); Sun, 19 Apr 2020 20:03:13 -0400 Received: from mail-qt1-x841.google.com (mail-qt1-x841.google.com [IPv6:2607:f8b0:4864:20::841]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2857FC061A0C; Sun, 19 Apr 2020 17:03:13 -0700 (PDT) Received: by mail-qt1-x841.google.com with SMTP id w29so7156988qtv.3; Sun, 19 Apr 2020 17:03:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:from:to:cc:date:message-id:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=0W2mBwo/aBMrh7K/c/cKr1aNbLZU2A1Qz0rlYtVDZfM=; b=r3ioTpsyBGKxFZJXjk0ka/Onr0CMv6f/JBIPG4v6ERy1FGTw3bhW2XWUDFC+nRf4Dr 2smN6g5u4Qq5f0+CpT8uPl8YDpP0s59kxiqqLFWg0rvM3+KH4t8lMb/Gh+rmGCfzLkYt 6/lwGv5WNeZOl+K4QocsBqbHeauoJm1avT1N4Nle09SIg2Ki0Kwt8KEiXQjGuiG2fWVY 18jo0ZaZvJjXzwGF/f867ZJ0rO7mQu9Fz28hyGOh7/PZXFE9W97VDm2D1vjzokw02vVF 0GxvdRK3Z4Q645fa7wnlZ5CwcdN+Vcx9AhDY5rYNKvXNLwCIupfig56W1yvimtQkazY4 E75w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:from:to:cc:date:message-id :in-reply-to:references:user-agent:mime-version :content-transfer-encoding; bh=0W2mBwo/aBMrh7K/c/cKr1aNbLZU2A1Qz0rlYtVDZfM=; b=iYgAyzhOI/KzNDdP5d0c9nbATnX75kSt5RUpgg9isu+PUwJNFmNYTj9yC5S3lklwbv Oy0f0PTFg1NCvJ262tIPnAl+hU2gE045bXIzEZmY2zM7q57I02Lsl0iVvRhZal3ssvzv pQCNg/WuaRjp7H9oAbZs0/fsGn7Xy82KMwdVvkB6iyzWU2J43HsX3dZnKB6e2Ix2wd/j gzG1W60e8DBSEXzPeSJ3TeR2aoCMwuhAH6TvH5f9TMqoTMzQwXxOElY+MndDlzh6ULZc e1bBUP0Zg5CM26i5C/T6+xE6ukDCQRAcUOovivw4fyot8KaXDT6mj+p+FLV+WbXdPfwV RFGg== X-Gm-Message-State: AGi0PuYPPUW+nZ7O4C5IIWjK9UeJUG70FJ79GJQkfcjZMS69lSv6Bue1 3auViweXm9DA20FbIonNfDKU2teu X-Received: by 2002:ac8:7606:: with SMTP id t6mr12653236qtq.331.1587340992438; Sun, 19 Apr 2020 17:03:12 -0700 (PDT) Received: from gateway.1015granger.net (c-68-61-232-219.hsd1.mi.comcast.net. [68.61.232.219]) by smtp.gmail.com with ESMTPSA id j14sm22405527qtv.27.2020.04.19.17.03.11 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 19 Apr 2020 17:03:12 -0700 (PDT) Received: from manet.1015granger.net (manet.1015granger.net [192.168.1.51]) by gateway.1015granger.net (8.14.7/8.14.7) with ESMTP id 03K03AaK016699; Mon, 20 Apr 2020 00:03:10 GMT Subject: [PATCH 3/3] xprtrdma: Fix use of xdr_stream_encode_item_{present, absent} From: Chuck Lever To: anna.schumaker@netapp.com Cc: linux-rdma@vger.kernel.org, linux-nfs@vger.kernel.org Date: Sun, 19 Apr 2020 20:03:10 -0400 Message-ID: <20200420000310.6417.22816.stgit@manet.1015granger.net> In-Reply-To: <20200420000223.6417.32126.stgit@manet.1015granger.net> References: <20200420000223.6417.32126.stgit@manet.1015granger.net> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org These new helpers do not return 0 on success, they return the encoded size. Thus they are not a drop-in replacement for the old helpers. Fixes: 5c266df52701 ("SUNRPC: Add encoders for list item discriminators") Signed-off-by: Chuck Lever --- net/sunrpc/xprtrdma/rpc_rdma.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/net/sunrpc/xprtrdma/rpc_rdma.c b/net/sunrpc/xprtrdma/rpc_rdma.c index 4a81e6995d3e..3c627dc685cc 100644 --- a/net/sunrpc/xprtrdma/rpc_rdma.c +++ b/net/sunrpc/xprtrdma/rpc_rdma.c @@ -388,7 +388,9 @@ static int rpcrdma_encode_read_list(struct rpcrdma_xprt *r_xprt, } while (nsegs); done: - return xdr_stream_encode_item_absent(xdr); + if (xdr_stream_encode_item_absent(xdr) < 0) + return -EMSGSIZE; + return 0; } /* Register and XDR encode the Write list. Supports encoding a list @@ -454,7 +456,9 @@ static int rpcrdma_encode_write_list(struct rpcrdma_xprt *r_xprt, *segcount = cpu_to_be32(nchunks); done: - return xdr_stream_encode_item_absent(xdr); + if (xdr_stream_encode_item_absent(xdr) < 0) + return -EMSGSIZE; + return 0; } /* Register and XDR encode the Reply chunk. Supports encoding an array @@ -480,8 +484,11 @@ static int rpcrdma_encode_reply_chunk(struct rpcrdma_xprt *r_xprt, int nsegs, nchunks; __be32 *segcount; - if (wtype != rpcrdma_replych) - return xdr_stream_encode_item_absent(xdr); + if (wtype != rpcrdma_replych) { + if (xdr_stream_encode_item_absent(xdr) < 0) + return -EMSGSIZE; + return 0; + } seg = req->rl_segments; nsegs = rpcrdma_convert_iovs(r_xprt, &rqst->rq_rcv_buf, 0, wtype, seg);