mirror of
https://github.com/opnsense/src.git
synced 2026-04-07 10:25:46 -04:00
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. |
||
|---|---|---|
| .. | ||
| nfs.h | ||
| nfs_serv.c | ||
| nfs_srvcache.c | ||
| nfs_srvsock.c | ||
| nfs_srvsubs.c | ||
| nfs_syscalls.c | ||
| nfsm_subs.h | ||
| nfsrvcache.h | ||
| nfsrvstats.h | ||