Removes any restrictions on process control
authorBarret Rhoden <brho@cs.berkeley.edu>
Sun, 5 May 2013 22:59:51 +0000 (15:59 -0700)
committerBarret Rhoden <brho@cs.berkeley.edu>
Sun, 5 May 2013 22:59:51 +0000 (15:59 -0700)
Until we have a real solution, the half-assed "direct parent only" (or
self) control test doesn't really do much.

kern/src/process.c

index cda5b5d..df222e8 100644 (file)
@@ -392,11 +392,16 @@ static void __proc_free(struct kref *kref)
        kmem_cache_free(proc_cache, p);
 }
 
-/* Whether or not actor can control target.  Note we currently don't need
- * locking for this. TODO: think about that, esp wrt proc's dying. */
+/* Whether or not actor can control target.  TODO: do something reasonable here.
+ * Just checking for the parent is a bit limiting.  Could walk the parent-child
+ * tree, check user ids, or some combination.  Make sure actors can always
+ * control themselves. */
 bool proc_controls(struct proc *actor, struct proc *target)
 {
+       return TRUE;
+       #if 0 /* Example: */
        return ((actor == target) || (target->ppid == actor->pid));
+       #endif
 }
 
 /* Helper to incref by val.  Using the helper to help debug/interpose on proc