]> exis.tech > repos - linux.git/commitdiff
Merge tag 'nfsd-6.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 24 Dec 2025 17:23:04 +0000 (09:23 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 24 Dec 2025 17:23:04 +0000 (09:23 -0800)
Pull nfsd fixes from Chuck Lever:
 "A set of NFSD fixes that arrived just a bit late for the 6.19 merge
  window.

  Regression fixes:
   - Mark variable __maybe_unused to avoid W=1 build break

  Stable fixes:
   - NFSv4 file creation neglects setting ACL
   - Clear TIME_DELEG in the suppattr_exclcreat bitmap
   - Clear SECLABEL in the suppattr_exclcreat bitmap
   - Fix memory leak in nfsd_create_serv error paths
   - Bound check rq_pages index in inline path
   - Return 0 on success from svc_rdma_copy_inline_range
   - Use rc_pageoff for memcpy byte offset
   - Avoid NULL deref on zero length gss_token in gss_read_proxy_verf"

* tag 'nfsd-6.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux:
  NFSD: NFSv4 file creation neglects setting ACL
  NFSD: Clear TIME_DELEG in the suppattr_exclcreat bitmap
  NFSD: Clear SECLABEL in the suppattr_exclcreat bitmap
  nfsd: fix memory leak in nfsd_create_serv error paths
  nfsd: Mark variable __maybe_unused to avoid W=1 build break
  svcrdma: bound check rq_pages index in inline path
  svcrdma: return 0 on success from svc_rdma_copy_inline_range
  svcrdma: use rc_pageoff for memcpy byte offset
  SUNRPC: svcauth_gss: avoid NULL deref on zero length gss_token in gss_read_proxy_verf

1  2 
fs/nfsd/vfs.h

diff --combined fs/nfsd/vfs.h
index ded2900d423f80d33fb6c8b809bc5d9fc842ebfd,1dd3ae3ceb3a8e2fb0364888b24ce5f408f56610..e192dca4a67919a6068ffc8bef67984d2550257c
@@@ -67,7 -67,8 +67,8 @@@ static inline bool nfsd_attrs_valid(str
        struct iattr *iap = attrs->na_iattr;
  
        return (iap->ia_valid || (attrs->na_seclabel &&
-               attrs->na_seclabel->len));
+               attrs->na_seclabel->len) ||
+               attrs->na_pacl || attrs->na_dpacl);
  }
  
  __be32                nfserrno (int errno);
@@@ -114,7 -115,7 +115,7 @@@ __be32             nfsd_setxattr(struct svc_rqst *
  int           nfsd_open_break_lease(struct inode *, int);
  __be32                nfsd_open(struct svc_rqst *, struct svc_fh *, umode_t,
                                int, struct file **);
 -int           nfsd_open_verified(struct svc_fh *fhp, int may_flags,
 +int           nfsd_open_verified(struct svc_fh *fhp, umode_t type, int may_flags,
                                struct file **filp);
  __be32                nfsd_splice_read(struct svc_rqst *rqstp, struct svc_fh *fhp,
                                struct file *file, loff_t offset,