And the mode being requested by the client is mediated by the umask.
A full fix for this will require the client to set the mode atomically at file creation time, at a point where the samba server can apply the mode in the open call instead of as a separate chmod() call. The NTCreateAndXRequest RPC call doesn't allow for this, so an RPC call specific to POSIX extensions would be needed here; perhaps the SMB_POSIX_PATH_OPEN Trans2 call allows for this already, but isn't being used by the kernel cifs client?
And the mode being requested by the client is mediated by the umask.
A full fix for this will require the client to set the mode atomically at file creation time, at a point where the samba server can apply the mode in the open call instead of as a separate chmod() call. The NTCreateAndXRequest RPC call doesn't allow for this, so an RPC call specific to POSIX extensions would be needed here; perhaps the SMB_POSIX_PATH_OPEN Trans2 call allows for this already, but isn't being used by the kernel cifs client?