diff options
Diffstat (limited to 'debian/patches/fixes0004-Avoid-superfluous-locking-of-node.patch')
-rw-r--r-- | debian/patches/fixes0004-Avoid-superfluous-locking-of-node.patch | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/debian/patches/fixes0004-Avoid-superfluous-locking-of-node.patch b/debian/patches/fixes0004-Avoid-superfluous-locking-of-node.patch new file mode 100644 index 00000000..db4187ed --- /dev/null +++ b/debian/patches/fixes0004-Avoid-superfluous-locking-of-node.patch @@ -0,0 +1,60 @@ +From 14647f8d3daeb5e18d77b40fd1d0c48e034903b5 Mon Sep 17 00:00:00 2001 +From: Justus Winter <justus@gnupg.org> +Date: Mon, 25 Apr 2016 00:54:08 +0200 +Subject: [PATCH hurd 4/5] Avoid superfluous locking of node + +* libdiskfs/io-restrict-auth.c (diskfs_S_io_restrict_auth): Do not +lock the associated node. No operation here needs synchronization. +* libnetfs/io-restrict-auth.c (netfs_S_io_restrict_auth): Likewise. +--- + libdiskfs/io-restrict-auth.c | 2 -- + libnetfs/io-restrict-auth.c | 3 --- + 2 files changed, 5 deletions(-) + +diff --git a/libdiskfs/io-restrict-auth.c b/libdiskfs/io-restrict-auth.c +index 80c0b20..1c2c999 100644 +--- a/libdiskfs/io-restrict-auth.c ++++ b/libdiskfs/io-restrict-auth.c +@@ -40,7 +40,6 @@ diskfs_S_io_restrict_auth (struct protid *cred, + if (err) + return err; + +- pthread_mutex_lock (&cred->po->np->lock); + refcount_ref (&cred->po->refcnt); + err = diskfs_create_protid (cred->po, user, &newpi); + if (! err) +@@ -51,7 +50,6 @@ diskfs_S_io_restrict_auth (struct protid *cred, + } + else + refcount_deref (&cred->po->refcnt); +- pthread_mutex_unlock (&cred->po->np->lock); + + iohelp_free_iouser (user); + return err; +diff --git a/libnetfs/io-restrict-auth.c b/libnetfs/io-restrict-auth.c +index 79b7d09..89df671 100644 +--- a/libnetfs/io-restrict-auth.c ++++ b/libnetfs/io-restrict-auth.c +@@ -42,19 +42,16 @@ netfs_S_io_restrict_auth (struct protid *user, + if (err) + return err; + +- pthread_mutex_lock (&user->po->np->lock); + refcount_ref (&user->po->refcnt); + newpi = netfs_make_protid (user->po, new_user); + if (newpi) + { + *newport = ports_get_right (newpi); +- pthread_mutex_unlock (&user->po->np->lock); + *newporttype = MACH_MSG_TYPE_MAKE_SEND; + } + else + { + refcount_deref (&user->po->refcnt); +- pthread_mutex_unlock (&user->po->np->lock); + iohelp_free_iouser (new_user); + err = ENOMEM; + } +-- +2.1.4 + |