[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[hurd] 14/17: Make sure to complete auth_server_authenticate
From: |
Samuel Thibault |
Subject: |
[hurd] 14/17: Make sure to complete auth_server_authenticate |
Date: |
Mon, 15 Feb 2016 09:10:03 +0000 |
This is an automated email from the git hooks/post-receive script.
sthibault pushed a commit to branch upstream
in repository hurd.
commit 1b6cf043c4083c6a64706d67232363cf78f92975
Author: Samuel Thibault <address@hidden>
Date: Sun Feb 14 20:05:35 2016 +0100
Make sure to complete auth_server_authenticate
* boot/boot.c (S_io_reauthenticate): Keep calling auth_server_authenticate
while it returns EINTR.
* proc/mgt.c (S_proc_reauthenticate): Likewise.
---
boot/boot.c | 8 ++++++--
proc/mgt.c | 16 +++++++++-------
2 files changed, 15 insertions(+), 9 deletions(-)
diff --git a/boot/boot.c b/boot/boot.c
index 4dda26b..462243c 100644
--- a/boot/boot.c
+++ b/boot/boot.c
@@ -1601,13 +1601,17 @@ S_io_reauthenticate (mach_port_t object,
MACH_MSG_TYPE_MAKE_SEND);
assert_perror (err);
- if (! auth_server_authenticate (authserver,
+ do
+ err = auth_server_authenticate (authserver,
rend, MACH_MSG_TYPE_COPY_SEND,
object, MACH_MSG_TYPE_COPY_SEND,
&gu, &gulen,
&au, &aulen,
&gg, &gglen,
- &ag, &aglen))
+ &ag, &aglen);
+ while (err == EINTR);
+
+ if (!err)
{
mig_deallocate ((vm_address_t) gu, gulen * sizeof *gu);
mig_deallocate ((vm_address_t) au, aulen * sizeof *gu);
diff --git a/proc/mgt.c b/proc/mgt.c
index dacce46..128a1c8 100644
--- a/proc/mgt.c
+++ b/proc/mgt.c
@@ -110,13 +110,15 @@ S_proc_reauthenticate (struct proc *p, mach_port_t
rendport)
/* Release the global lock while blocking on the auth server and client. */
pthread_mutex_unlock (&global_lock);
- err = auth_server_authenticate (authserver,
- rendport, MACH_MSG_TYPE_COPY_SEND,
- MACH_PORT_NULL, MACH_MSG_TYPE_COPY_SEND,
- &gen_uids, &ngen_uids,
- &aux_uids, &naux_uids,
- &gen_gids, &ngen_gids,
- &aux_gids, &naux_gids);
+ do
+ err = auth_server_authenticate (authserver,
+ rendport, MACH_MSG_TYPE_COPY_SEND,
+ MACH_PORT_NULL, MACH_MSG_TYPE_COPY_SEND,
+ &gen_uids, &ngen_uids,
+ &aux_uids, &naux_uids,
+ &gen_gids, &ngen_gids,
+ &aux_gids, &naux_gids);
+ while (err == EINTR);
pthread_mutex_lock (&global_lock);
if (err)
--
Alioth's /usr/local/bin/git-commit-notice on
/srv/git.debian.org/git/pkg-hurd/hurd.git
- [hurd] branch upstream updated (0aa179e -> ffaff64), Samuel Thibault, 2016/02/15
- [hurd] 03/17: procfs: Move setting default parameters to a separate function, Samuel Thibault, 2016/02/15
- [hurd] 11/17: Fixed leaks in _netfs_translator_callback2_fn, Samuel Thibault, 2016/02/15
- [hurd] 04/17: exec: remove duplicate function call, Samuel Thibault, 2016/02/15
- [hurd] 02/17: Fix typo, Samuel Thibault, 2016/02/15
- [hurd] 16/17: Fix function name, Samuel Thibault, 2016/02/15
- [hurd] 14/17: Make sure to complete auth_server_authenticate,
Samuel Thibault <=
- [hurd] 15/17: Fix hang on reauthentication, Samuel Thibault, 2016/02/15
- [hurd] 05/17: utils/settrans: improve --chroot functionality, Samuel Thibault, 2016/02/15
- [hurd] 08/17: mach-defpager: link dynamically, Samuel Thibault, 2016/02/15
- [hurd] 09/17: devnode: fix falling back to the kernel driver, Samuel Thibault, 2016/02/15
- [hurd] 01/17: Also build exec.static, Samuel Thibault, 2016/02/15
- [hurd] 12/17: utils/vmallocate: new utility, Samuel Thibault, 2016/02/15
- [hurd] 17/17: Merge remote-tracking branch 'upstream/master' into upstream, Samuel Thibault, 2016/02/15
- [hurd] 06/17: Use refcount_t for peropen reference counting in libnetfs., Samuel Thibault, 2016/02/15
- [hurd] 07/17: Remove libfshelp/trans.h and libfshelp/locks.h., Samuel Thibault, 2016/02/15
- [hurd] 10/17: Check for a return value in netfs_make_peropen before using it in netfs_make_protid., Samuel Thibault, 2016/02/15