Index: sys/compat/linux/linux_stats.c =================================================================== --- sys/compat/linux/linux_stats.c +++ sys/compat/linux/linux_stats.c @@ -60,7 +60,7 @@ #include static void -translate_vnhook_major_minor(struct vnode *vp, struct stat *sb) +translate_vnhook(struct vnode *vp, struct stat *sb) { int major, minor; @@ -82,6 +82,9 @@ if (linux_vn_get_major_minor(vp, &major, &minor) == 0) sb->st_rdev = (major << 8 | minor); + + if (S_ISLNK(sb->st_mode) && (vp->v_vflag & VV_READLINK) == 0) + sb->st_mode |= ACCESSPERMS; } static int @@ -90,7 +93,7 @@ { return (kern_statat(td, flag, fd, path, pathseg, sbp, - translate_vnhook_major_minor)); + translate_vnhook)); } #ifdef LINUX_LEGACY_SYSCALLS