Index: hurd-0.6.git20150523/trans/fakeroot.c =================================================================== --- hurd-0.6.git20150523.orig/trans/fakeroot.c +++ hurd-0.6.git20150523/trans/fakeroot.c @@ -796,8 +796,20 @@ netfs_get_dirents (struct iouser *cred, mach_msg_type_number_t *datacnt, vm_size_t bufsize, int *amt) { - return dir_readdir (netfs_node_netnode (dir)->file, data, datacnt, + struct netnode *nn = netfs_node_netnode (dir); + mode_t real_mode = dir->nn_stat.st_mode; + error_t err = 0; + + if ((real_mode & S_IFDIR) && ((real_mode & S_IXUSR) == 0)) + { + nn->openmodes |= O_EXEC; + err = netfs_attempt_chmod (cred, dir, real_mode); + if (err) + return err; + } + err = dir_readdir (nn->file, data, datacnt, entry, nentries, bufsize, amt); + return err; } error_t