Linux NFS development
 help / color / mirror / Atom feed
From: VeroFess <coderzeng@gmail.com>
To: cel@kernel.org
Cc: jlayton@kernel.org, neil@brown.name, okorniev@redhat.com,
	Dai.Ngo@oracle.com, tom@talpey.com, linux-nfs@vger.kernel.org
Subject: Re: [PATCH v7 0/5] NFSD: Enforce export security after a deferred PUTFH check
Date: Tue,  3 Nov 2026 09:33:08 +0800	[thread overview]
Message-ID: <20261103013308.1174565-1-coderzeng@gmail.com> (raw)
In-Reply-To: <20261102-verofess-v7-0-d2cc0de4d44e@kernel.org>

Chuck,

I finished testing the posted v7 series on an x86-64 KASAN guest with
NFSv2/v3/v4, Btrfs, inter-server COPY, and kernel TLS enabled. The
five patches applied in order to d9130c9f6535 and the bzImage built.
The tested image has SHA-256
99c8dad605aba384985097b6fad00f26db19ea8074b5b862d145b928e9b4b975.

The original NFSv4.0 AUTH_SYS SAVEFH reproducer returned WRONGSEC for
READ and WRITE against the krb5p export. The destination was unchanged,
and none of 108 candidate stateids returned the protected data. The
v4.2 saved-source COPY and CLONE tests returned ACCESS on the denied
source and left the destination unchanged. Authorized local COPY and
CLONE, inter-server COPY with COPY_NOTIFY and OFFLOAD_STATUS, and the
asynchronous negative cases behaved as expected.

I also reran the v6 regression matrix on v7: SAVEFH and RESTOREFH
boundaries, error ordering, LOOKUP and LOOKUPP, OPEN by name and by
filehandle, SECINFO and SECINFO_NO_NAME, READDIR with rdattr_error,
LINK and RENAME, NFSv2/v3 CREATE, v4 OPEN UNCHECKED, and export policy
changes from sec=sys to krb5p. The GSS cases covered krb5, krb5i,
and krb5p on v4.0, v4.1, and v4.2. These checks passed.

For patches 4 and 5, I ran the GSS cases against the changed SECINFO
and PUTFH paths. PUTFH deferred the flavor error where required;
SECINFO returned the available flavors; a following operation did not
use a stale current filehandle. I repeated the root and child-export
checks over plaintext, TLS, and mTLS on v4.0, v4.1, and v4.2, and ran
krb5p over TLS 1.3 on v4.1 and v4.2. The permitted requests succeeded
and the denied requests returned the expected errors. No KASAN report
or kernel oops appeared in the guest log.

The W=1 NFSD object builds passed with NFSD_V4_2_INTER_SSC enabled and
disabled. The need_wrongsec_check() decision harness passed 259/259
cases.

Tested-by: VeroFess <coderzeng@gmail.com>

VeroFess

      parent reply	other threads:[~2026-11-03  1:33 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-02 13:58 [PATCH v7 0/5] NFSD: Enforce export security after a deferred PUTFH check Chuck Lever
2026-11-02 13:58 ` [PATCH v7 1/5] NFSD: Fix PUTFH wrongsec check when SAVEFH follows Chuck Lever
2026-11-02 13:58 ` [PATCH v7 2/5] NFSD: Check export security on the COPY and CLONE source Chuck Lever
2026-11-02 13:58 ` [PATCH v7 3/5] NFSD: Check the entered export on a mount crossing Chuck Lever
2026-11-02 13:58 ` [PATCH v7 4/5] NFSD: Let SECINFO query an export that excludes the request's flavor Chuck Lever
2026-11-02 13:58 ` [PATCH v7 5/5] NFSD: Defer the PUTFH export security flavor check Chuck Lever
2026-11-03  1:33 ` VeroFess [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20261103013308.1174565-1-coderzeng@gmail.com \
    --to=coderzeng@gmail.com \
    --cc=Dai.Ngo@oracle.com \
    --cc=cel@kernel.org \
    --cc=jlayton@kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=neil@brown.name \
    --cc=okorniev@redhat.com \
    --cc=tom@talpey.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox