[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20171204190324.6629-4-thiago.becker@gmail.com>
Date: Mon, 4 Dec 2017 17:03:24 -0200
From: Thiago Rafael Becker <thiago.becker@...il.com>
To: bfields@...ldses.org, neilb@...e.com
Cc: linux-nfs@...r.kernel.org, linux-fsdevel@...r.kernel.org,
linux-kernel@...r.kernel.org,
Thiago Rafael Becker <thiago.becker@...il.com>
Subject: [PATCH 3/3, v3] kernel: set_groups doesn't call groups_sort anymore.
When the group_info is cached (e.g. sunrpc) there's the possibility
that threads calling set_groups will attempt to do so simultaneously.
Moving the responsibility of sorting to the caller of set_groups, or
in the case of nfsd, to the point where it is received from rpc.mountd
avoids this issue.
Moving it to the caller has the added benifit of a slight improvement on
the nfsd performance.
Signed-off-by: Thiago Rafael Becker <thiago.becker@...il.com>
---
kernel/groups.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/kernel/groups.c b/kernel/groups.c
index 17073a9..8620ad3 100644
--- a/kernel/groups.c
+++ b/kernel/groups.c
@@ -124,7 +124,6 @@ int groups_search(const struct group_info *group_info, kgid_t grp)
void set_groups(struct cred *new, struct group_info *group_info)
{
put_group_info(new->group_info);
- groups_sort(group_info);
get_group_info(group_info);
new->group_info = group_info;
}
--
2.9.5
Powered by blists - more mailing lists