summaryrefslogtreecommitdiff
path: root/libdiskfs
diff options
context:
space:
mode:
authorMichael I. Bushnell <mib@gnu.org>1994-08-30 22:20:52 +0000
committerMichael I. Bushnell <mib@gnu.org>1994-08-30 22:20:52 +0000
commit04b34e788dc0707c1619ce14a13a1d9001374787 (patch)
tree103c8fe11de4cbf84f49a4b3d7e05527b6126c38 /libdiskfs
parentda94a1056fa4be0e59ee27aee320317327ccdc89 (diff)
Formerly file-exec.c.~8~
Diffstat (limited to 'libdiskfs')
-rw-r--r--libdiskfs/file-exec.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/libdiskfs/file-exec.c b/libdiskfs/file-exec.c
index cc6f054c..1103066e 100644
--- a/libdiskfs/file-exec.c
+++ b/libdiskfs/file-exec.c
@@ -46,6 +46,7 @@ diskfs_S_file_exec (struct protid *cred,
{
struct node *np;
error_t err;
+ mach_port_t newauth;
if (!cred)
return EOPNOTSUPP;
@@ -67,8 +68,15 @@ diskfs_S_file_exec (struct protid *cred,
&& !diskfs_isuid (0, cred))
flags |= EXEC_SECURE|EXEC_NEWTASK;
+ /* If the user can't read the file, then we should use a new task,
+ which would be inaccessible to the user. Actually, this doesn't
+ work, because the proc server will still give out the task port
+ to the user. Too many things depend on that that it can't be
+ changed. So this vague attempt isn't even worth trying. */
+#if 0
if (diskfs_access (np, S_IREAD, cred))
flags |= EXEC_NEWTASK;
+#endif
err = exec_exec (diskfs_exec,
(ports_get_right