From: Thiago Rafael Becker <thiago.becker@gmail.com>
To: bfields@fieldses.org
Cc: linux-nfs@vger.kernel.org, linux-fsdevel@vger.kernel.org,
linux-kernel@vger.kernel.org,
Thiago Rafael Becker <thiago.becker@gmail.com>
Subject: [PATCH 2/3, V2] kernel: Move groups_sort to the caller of set_groups.
Date: Thu, 30 Nov 2017 11:04:56 -0200 [thread overview]
Message-ID: <20171130130457.11429-3-thiago.becker@gmail.com> (raw)
In-Reply-To: <20171130130457.11429-1-thiago.becker@gmail.com>
The responsibility for calling groups_sort is now on the caller
of set_groups.
Signed-off-by: Thiago Rafael Becker <thiago.becker@gmail.com>
---
kernel/groups.c | 1 +
kernel/uid16.c | 1 +
net/sunrpc/svcauth_unix.c | 7 +++++++
3 files changed, 9 insertions(+)
diff --git a/kernel/groups.c b/kernel/groups.c
index 4c9c9ed..17073a9 100644
--- a/kernel/groups.c
+++ b/kernel/groups.c
@@ -208,6 +208,7 @@ SYSCALL_DEFINE2(setgroups, int, gidsetsize, gid_t __user *, grouplist)
return retval;
}
+ groups_sort(group_info);
retval = set_current_groups(group_info);
put_group_info(group_info);
diff --git a/kernel/uid16.c b/kernel/uid16.c
index ce74a49..ef1da2a 100644
--- a/kernel/uid16.c
+++ b/kernel/uid16.c
@@ -192,6 +192,7 @@ SYSCALL_DEFINE2(setgroups16, int, gidsetsize, old_gid_t __user *, grouplist)
return retval;
}
+ groups_sort(group_info);
retval = set_current_groups(group_info);
put_group_info(group_info);
diff --git a/net/sunrpc/svcauth_unix.c b/net/sunrpc/svcauth_unix.c
index f81eaa8..91e3d34 100644
--- a/net/sunrpc/svcauth_unix.c
+++ b/net/sunrpc/svcauth_unix.c
@@ -20,6 +20,7 @@
#include "netns.h"
+void groups_sort(struct group_info *group_info);
/*
* AUTHUNIX and AUTHNULL credentials are both handled here.
@@ -520,6 +521,12 @@ static int unix_gid_parse(struct cache_detail *cd,
ug.gi->gid[i] = kgid;
}
+ /* Sort the groups before inserting this entry
+ * into the cache to avoid future corrutpions
+ * by multiple simultaneous attempts to sort this
+ * entry.
+ */
+ groups_sort(ug.gi);
ugp = unix_gid_lookup(cd, uid);
if (ugp) {
struct cache_head *ch;
--
2.9.5
next prev parent reply other threads:[~2017-11-30 13:06 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-30 13:04 [PATCH 0/3, V2] Move groups_sort outisde of set_groups Thiago Rafael Becker
2017-11-30 13:04 ` [PATCH 1/3, V2] kernel: make groups_sort globally visible Thiago Rafael Becker
2017-11-30 13:04 ` Thiago Rafael Becker [this message]
2017-12-03 12:56 ` [PATCH 2/3, V2] kernel: Move groups_sort to the caller of set_groups kbuild test robot
2017-12-04 1:42 ` NeilBrown
2017-12-04 15:39 ` Thiago Rafael Becker
2017-12-04 15:47 ` J. Bruce Fields
2017-12-04 19:00 ` Thiago Rafael Becker
2017-12-04 20:11 ` NeilBrown
2017-12-05 21:28 ` Matthew Wilcox
2017-12-05 22:05 ` NeilBrown
2017-12-05 23:03 ` Thiago Rafael Becker
2017-12-05 23:23 ` Matthew Wilcox
2017-12-19 16:30 ` J. Bruce Fields
2017-12-19 20:14 ` NeilBrown
2017-11-30 13:04 ` [PATCH 3/3, V2] kernel: set_groups doesn't call groups_sort anymore Thiago Rafael Becker
2017-12-05 14:05 ` [PATCH 0/3 v3] Move groups_sort outisde of set_groups Thiago Rafael Becker
2017-12-05 14:05 ` [PATCH 1/3 v3] kernel: make groups_sort globally visible Thiago Rafael Becker
2017-12-05 14:05 ` [PATCH 2/3 v3] kernel: Move groups_sort to the caller of set_groups Thiago Rafael Becker
2017-12-05 18:55 ` [PATCH 2/3] " Thiago Rafael Becker
2017-12-05 22:08 ` NeilBrown
2017-12-05 18:57 ` [PATCH 2/3 v3] " Thiago Rafael Becker
2017-12-05 14:05 ` [PATCH 3/3 v3] kernel: set_groups doesn't call groups_sort anymore Thiago Rafael Becker
2017-12-06 19:27 ` [PATCH 0/3 v3] Move groups_sort outisde of set_groups J. Bruce Fields
2017-12-11 13:28 ` [PATCH v4] kernel: make groups_sort calling a responsibility group_info allocators Thiago Rafael Becker
2017-12-11 14:27 ` Matthew Wilcox
2017-12-11 15:14 ` [PATCH v5] " Thiago Rafael Becker
2017-12-11 15:24 ` Matthew Wilcox
2017-12-11 16:18 ` J. Bruce Fields
2017-12-11 21:43 ` NeilBrown
2018-01-02 14:54 ` David Howells
2018-01-02 21:01 ` [PATCH] Documentation: security/credentials.rst: explain need to sort group_list NeilBrown
2018-01-02 21:04 ` Matthew Wilcox
2018-01-06 18:09 ` Jonathan Corbet
2018-01-06 20:20 ` Matthew Wilcox
2018-01-06 22:36 ` Randy Dunlap
2018-01-08 16:36 ` Jonathan Corbet
2018-01-07 23:39 ` NeilBrown
2018-01-08 16:40 ` Jonathan Corbet
2018-01-08 16:40 ` Jonathan Corbet
2017-12-11 21:43 ` [PATCH v5] kernel: make groups_sort calling a responsibility group_info allocators NeilBrown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171130130457.11429-3-thiago.becker@gmail.com \
--to=thiago.becker@gmail.com \
--cc=bfields@fieldses.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.