Page MenuHomeFreeBSD

D28191.id82354.diff
No OneTemporary

D28191.id82354.diff

Index: sys/compat/linux/linux_stats.c
===================================================================
--- sys/compat/linux/linux_stats.c
+++ sys/compat/linux/linux_stats.c
@@ -60,7 +60,7 @@
#include <compat/linux/linux_file.h>
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

File Metadata

Mime Type
text/plain
Expires
Wed, Apr 22, 5:22 AM (17 h, 32 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31955553
Default Alt Text
D28191.id82354.diff (798 B)

Event Timeline