[Bug 292283] (JAVA) NFSv4.1 client trying to set FATTR4_SYSTEM or FATTR4_HIDDEN gets EPERM for file and dir creation attemps

From: <bugzilla-noreply_at_freebsd.org>
Date: Thu, 08 Jan 2026 21:28:14 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292283

Rick Macklem <rmacklem@FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|bugs@FreeBSD.org            |rmacklem@FreeBSD.org
                 CC|                            |rmacklem@FreeBSD.org
             Status|New                         |Open

--- Comment #1 from Rick Macklem <rmacklem@FreeBSD.org> ---
Created attachment 266952
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=266952&action=edit
Fix for NFSv4.n client specifying hidden/system during file creation

The problem seems to be caused by ZFS calling
secpolicy_xvattr() when any va_flags bit
(which includes UF_HIDDEN and UF_SYSTEM)
is specified for VOP_CREATE().

specpolicy_xvattr() returns EPERM for non-root,
which is good, because if the code is patched
to allow it, ZFS panics.

This patch avoids the problem by disabling the
va_flags field for VOP_CREATE() and then setting
the va_flags bits via VOP_SETATTR() after the
VOP_CREATE(), for the NFSv4.n server.

-- 
You are receiving this mail because:
You are the assignee for the bug.