diff options
Diffstat (limited to 'usr/src/uts/common/os/fio.c')
| -rw-r--r-- | usr/src/uts/common/os/fio.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/usr/src/uts/common/os/fio.c b/usr/src/uts/common/os/fio.c index 7b6d973b9e..c25564d85f 100644 --- a/usr/src/uts/common/os/fio.c +++ b/usr/src/uts/common/os/fio.c @@ -1585,7 +1585,9 @@ fsetattrat(int fd, char *path, int flags, struct vattr *vap) VN_HOLD(vp); } - if (vn_is_readonly(vp)) { + if (vp->v_type == VLNK && (vap->va_mask & AT_MODE) != 0) { + error = EOPNOTSUPP; + } else if (vn_is_readonly(vp)) { error = EROFS; } else { error = VOP_SETATTR(vp, vap, 0, CRED(), NULL); |
