Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp1559739pxb; Fri, 20 Nov 2020 12:35:23 -0800 (PST) X-Google-Smtp-Source: ABdhPJxJEevnlBKc5LGOzxvOsvqoAbJ+G1VZAOcUEGQwCz/6eDpPGeiTYtS3SONziSKOs1jVWWlO X-Received: by 2002:a05:6402:b3b:: with SMTP id bo27mr36305155edb.376.1605904522941; Fri, 20 Nov 2020 12:35:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1605904522; cv=none; d=google.com; s=arc-20160816; b=vXumIU0vH2GI+CmyrMY4g3Qb0mXCh1EYQ7Nd2v+Q8CifqMZ5xbfIiDhBIuu65uVbTB kkD/oDQmh32GlFUnnjdER8JgLBpp0vzZfPo8PnqNbCfVmoTeeLNmtCbz+u+j0oiXzoaQ NHRsJBt/b6sgDpvRygibHhaVB2nmsdPtdtPn2YVNzDqHvzt7SLSsioR1fuPSdRah/8fN pSY786yvF4FzfcyWBeJP/ccWugX0T0zyWD8GaWHW5DqMdpyystEgcbUx+ySmojo7UpfC 8cF6zoU7dkmqI3sfLOBuFLuDFMbo7NIQXnQJCMgj8Mc5y7dwPlr/cfY83ooFHk+8lHzn V4gA== 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 :user-agent:references:in-reply-to:message-id:date:to:from:subject :sender:dkim-signature; bh=/lnYU4VjGcsj8jSDBqS0kAjeaM7UWGLQgHgYqESNJcQ=; b=UFX3K89n9d929Xz7Oluc8U4x2vbbKoQrqFOSrqKvjCrDpIi4daUTiJ/F8ilDlXCCD/ dTmEcCPCMy3hJZ0LNMSaup3BGHZBdU+OHk2augn8my+kyrnRashqfjurkAh5zwFhiBkB g/RTWXfCZKQYAjD9AjqCflei2vRRV26+G6WYy588jna6Mgn7VCyOyLRf4izEtNqkMxD4 XFyv/MpFJEkTtvWEuj34u5vzpF6tRF3TRoaUA1zup88VnScdoY+hSuVtR1YAYUuhNxZn FzpMoVcS8ynymYA//udEq+TL/l4G+pK0l9PL2YCFsGSE6e7hMPUziA7a6OA5T36iVYlL q++Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=pZhtK0wD; 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 t23si2542769edc.387.2020.11.20.12.34.59; Fri, 20 Nov 2020 12:35:22 -0800 (PST) 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=pass header.i=@gmail.com header.s=20161025 header.b=pZhtK0wD; 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 S1731093AbgKTUe7 (ORCPT + 99 others); Fri, 20 Nov 2020 15:34:59 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60784 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731092AbgKTUe6 (ORCPT ); Fri, 20 Nov 2020 15:34:58 -0500 Received: from mail-qk1-x742.google.com (mail-qk1-x742.google.com [IPv6:2607:f8b0:4864:20::742]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7D3C3C0613CF for ; Fri, 20 Nov 2020 12:34:58 -0800 (PST) Received: by mail-qk1-x742.google.com with SMTP id v143so10216577qkb.2 for ; Fri, 20 Nov 2020 12:34:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:from:to:date:message-id:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=/lnYU4VjGcsj8jSDBqS0kAjeaM7UWGLQgHgYqESNJcQ=; b=pZhtK0wD7q4StSQLLe0yRu6nIbaDwEOE3Q6UukaPmoxS4Q9NfAOvsT02b0pwk2HMaD Dw6Wbx2sF/RvYFzN7Xf3wj8uFjna2eReCYChLFnZmn/F9OV3FyPblejyF3eGEUi8Z7EE FtNN1PsizbuH+wAXkdRZFSwDZ2jUMWFneKb/9xroKFcP22UmE3uPXlPZqXijV2S5kyOy K07gICML4xHbZiD+W5o+aEuw4fXp/4iQgs/Bb27sikYSTCFn1WvuvsAYkfX+ncjJ7+i2 vOIpY2oy4yCqTA0zQFSdQ3BH+1k9cnuZQmo13nI3VC5WsRf+B1zyRIo4vXwBQ5Dn545n ACOQ== 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:date:message-id :in-reply-to:references:user-agent:mime-version :content-transfer-encoding; bh=/lnYU4VjGcsj8jSDBqS0kAjeaM7UWGLQgHgYqESNJcQ=; b=ftznLV0fQ/kEkOdewBNHf/sDIP2G/cblxGqprjYKXe8WF24L/t23K8KqLC4cfmw/2w aoMXS9zQSXzoeCYSTn/zM7CFSCaWJMpnkSBpPe2BPiwvqsEYpdGT+lQ8+mEb7/UC3Yo3 jkrshkYIwpZP9xZwcGnn6YA0+XdPPz258+Zhn6CWiEo3N9kh9HwLTpP0lJKvpNrXifLg ezIuVY52HsAzb1e1VxF2BguRR0xnm8Ze694oCr2Y24M1NUAsPAsyeD5eY2yxaaw5ELly r4N1PMs1SGc1jwpLc2VLoMrKV2aJ7TOtzQS42tHkv4AjjGeXqs6jbRB+JG3m8FzV3gBp n7kQ== X-Gm-Message-State: AOAM532kvJqz+ouIThkZ9JvhRESBtmtVvBxR97A4LAt2UJgiFvak8eMX cyrOpxnGkFcafOqnq3V5q/mIqPxTBeg= X-Received: by 2002:a37:6748:: with SMTP id b69mr17594049qkc.336.1605904497474; Fri, 20 Nov 2020 12:34:57 -0800 (PST) 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 j13sm3084296qtc.81.2020.11.20.12.34.55 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 20 Nov 2020 12:34:56 -0800 (PST) Sender: Chuck Lever Received: from klimt.1015granger.net (klimt.1015granger.net [192.168.1.55]) by gateway.1015granger.net (8.14.7/8.14.7) with ESMTP id 0AKKYtvr029241 for ; Fri, 20 Nov 2020 20:34:55 GMT Subject: [PATCH v2 013/118] NFSD: Replace READ* macros that decode the fattr4 mode attribute From: Chuck Lever To: linux-nfs@vger.kernel.org Date: Fri, 20 Nov 2020 15:34:55 -0500 Message-ID: <160590449506.1340.15554962777228664236.stgit@klimt.1015granger.net> In-Reply-To: <160590425404.1340.8850646771948736468.stgit@klimt.1015granger.net> References: <160590425404.1340.8850646771948736468.stgit@klimt.1015granger.net> User-Agent: StGit/0.23-29-ga622f1 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org Signed-off-by: Chuck Lever --- fs/nfsd/nfs4xdr.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c index 54c553ef35bf..821a03121d22 100644 --- a/fs/nfsd/nfs4xdr.c +++ b/fs/nfsd/nfs4xdr.c @@ -349,8 +349,11 @@ nfsd4_decode_fattr(struct nfsd4_compoundargs *argp, u32 *bmval, } else *acl = NULL; if (bmval[1] & FATTR4_WORD1_MODE) { - READ_BUF(4); - iattr->ia_mode = be32_to_cpup(p++); + u32 mode; + + if (xdr_stream_decode_u32(argp->xdr, &mode) < 0) + return nfserr_bad_xdr; + iattr->ia_mode = mode; iattr->ia_mode &= (S_IFMT | S_IALLUGO); iattr->ia_valid |= ATTR_MODE; }