commit-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[hurd] 12/28: boot: Use the smallest possible name when inserting rights


From: Samuel Thibault
Subject: [hurd] 12/28: boot: Use the smallest possible name when inserting rights.
Date: Wed, 16 Nov 2016 08:30:26 +0000

This is an automated email from the git hooks/post-receive script.

sthibault pushed a commit to branch upstream
in repository hurd.

commit dfd5134090dd80957dce5a65b467aafaff47ca3b
Author: Justus Winter <address@hidden>
Date:   Tue Nov 1 12:29:25 2016 +0100

    boot: Use the smallest possible name when inserting rights.
    
    * boot/userland-boot.c (boot_script_insert_right): Use the smallest
    possible name instead of the local name.
---
 boot/userland-boot.c | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/boot/userland-boot.c b/boot/userland-boot.c
index d048c00..7b85614 100644
--- a/boot/userland-boot.c
+++ b/boot/userland-boot.c
@@ -90,14 +90,23 @@ boot_script_free_task (task_t task, int aborting)
 int
 boot_script_insert_right (struct cmd *cmd, mach_port_t port, mach_port_t *name)
 {
-  error_t err = mach_port_insert_right (cmd->task,
-                                       port, port, MACH_MSG_TYPE_COPY_SEND);
+  error_t err;
+
+  *name = MACH_PORT_NULL;
+  do
+    {
+      *name += 1;
+      err = mach_port_insert_right (cmd->task,
+                                    *name, port, MACH_MSG_TYPE_COPY_SEND);
+    }
+  while (err == KERN_NAME_EXISTS);
+
   if (err)
     {
       error (0, err, "%s: mach_port_insert_right", cmd->path);
       return BOOT_SCRIPT_MACH_ERROR;
     }
-  *name = port;
+
   return 0;
 }
 

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-hurd/hurd.git



reply via email to

[Prev in Thread] Current Thread [Next in Thread]