Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4f0b429d authored by Trond Myklebust's avatar Trond Myklebust
Browse files

NFSv4.1: Enable state protection



Use the EXCHGID4_FLAG_BIND_PRINC_STATEID exchange_id flag to enable
stateid protection. This means that if we create a stateid using a
particular principal, then we must use the same principal if we
want to change that state.
IOW: if we OPEN a file using a particular credential, then we have
to use the same credential in subsequent OPEN_DOWNGRADE, CLOSE,
or DELEGRETURN operations that use that stateid.

Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
parent cd5875fe
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -5528,7 +5528,8 @@ int nfs4_proc_exchange_id(struct nfs_client *clp, struct rpc_cred *cred)
	struct nfs41_exchange_id_args args = {
		.verifier = &verifier,
		.client = clp,
		.flags = EXCHGID4_FLAG_SUPP_MOVED_REFER,
		.flags = EXCHGID4_FLAG_SUPP_MOVED_REFER |
			EXCHGID4_FLAG_BIND_PRINC_STATEID,
	};
	struct nfs41_exchange_id_res res = {
		0