HomeFreeBSD

It is required by VOP_CREATE, VOP_MKNOD, VOP_SYMLINK and VOP_MKDIR
rS89302Unpublished

Unpublished Commit ยท Learn More

No further details are available.

Description

It is required by VOP_CREATE, VOP_MKNOD, VOP_SYMLINK and VOP_MKDIR
that va_mode of the supplied attributes is filled in with a valid
file mode (i.e not VNOVAL, and only ALLPERM bits set). However,
some NFS server op functions didn't guarantee this for all possible
request messages:

If a V3 client chose not include to a mode specification, we could
end up creating an ffs inode with mode 0177777, requiring a manual
fsck on the next reboot. Fix this by setting va_mode to 0 before
calling the VOP if a mode hasn't been supplied by the client.

In nfsrv_symlink(), S_IFMT bits supplied by a V2 client could end
up in the va_mode passed to VOP_SYMLINK with similar effects. We
now use the macro nfstov_mode() to correctly mask the bits.

Details

Provenance
iedowseAuthored on
Parents
rS89301: MFC 1.116: Add color and alternate character set capabilities to `rxvt'
Branches
Unknown
Tags
Unknown

Event Timeline