From: Christian Brauner <christian.brauner@canonical.com>
To: Nikolay Borisov <nborisov@suse.com>
Cc: Christian Brauner <christian.brauner@ubuntu.com>,
ebiederm@xmission.com, linux-kernel@vger.kernel.org,
serge@hallyn.com, stgraber@ubuntu.com, tycho@tycho.ws
Subject: Re: [PATCH 1/2 v4] user namespace: use union in {g,u}idmap struct
Date: Mon, 23 Oct 2017 14:31:32 +0200 [thread overview]
Message-ID: <20171023123131.o7geym7rrmnoqq7i@gmail.com> (raw)
In-Reply-To: <ed4e0807-c0fd-decf-96f2-33a83e959f92@suse.com>
On Mon, Oct 23, 2017 at 09:45:34AM +0300, Nikolay Borisov wrote:
>
>
> On 23.10.2017 09:39, Nikolay Borisov wrote:
> >
> >
> > On 19.10.2017 22:11, Christian Brauner wrote:
> >> - Add a struct containing two pointer to extents and wrap both the static extent
> >> array and the struct into a union. This is done in preparation for bumping the
> >> {g,u}idmap limits for user namespaces.
> >> - Add brackets around anonymous union when using designated initializers to
> >> initialize members in order to please gcc <= 4.4.
> >>
> >> Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
> >> ---
> >> Changelog 2017-10-19:
> >> * kernel/user.c: Use brackets around anonymous union when using designated
> >> initializers to initialize members. This is done to please gcc <= 4.4.
> >> ---
> >> include/linux/user_namespace.h | 18 +++++++++++++-----
> >> kernel/user.c | 30 ++++++++++++++++++------------
> >> 2 files changed, 31 insertions(+), 17 deletions(-)
> >>
> >> diff --git a/include/linux/user_namespace.h b/include/linux/user_namespace.h
> >> index c18e01252346..7c83d7f6289b 100644
> >> --- a/include/linux/user_namespace.h
> >> +++ b/include/linux/user_namespace.h
> >> @@ -12,13 +12,21 @@
> >>
> >> #define UID_GID_MAP_MAX_EXTENTS 5
> >>
> >> +struct uid_gid_extent {
> >> + u32 first;
> >> + u32 lower_first;
> >> + u32 count;
> >> +};
> >> +
> >> struct uid_gid_map { /* 64 bytes -- 1 cache line */
> >> u32 nr_extents;
> >> - struct uid_gid_extent {
> >> - u32 first;
> >> - u32 lower_first;
> >> - u32 count;
> >> - } extent[UID_GID_MAP_MAX_EXTENTS];
> >> + union {
> >> + struct uid_gid_extent extent[UID_GID_MAP_MAX_EXTENTS];
> >> + struct {
> >> + struct uid_gid_extent *forward;
> >> + struct uid_gid_extent *reverse;
> >> + };
> >> + };
> >> };
> >>
> >> #define USERNS_SETGROUPS_ALLOWED 1UL
> >> diff --git a/kernel/user.c b/kernel/user.c
> >> index 00281add65b2..9a20acce460d 100644
> >> --- a/kernel/user.c
> >> +++ b/kernel/user.c
> >> @@ -26,26 +26,32 @@
> >> struct user_namespace init_user_ns = {
> >> .uid_map = {
> >> .nr_extents = 1,
> >> - .extent[0] = {
> >> - .first = 0,
> >> - .lower_first = 0,
> >> - .count = 4294967295U,
> >> + {
> >> + .extent[0] = {
> >> + .first = 0,
> >> + .lower_first = 0,
> >> + .count = 4294967295U,
> >
> > nit: ULONG_MAX ?
>
> Well, actually UINT_MAX
This is not actually code I need to touch. This patch really only exists for the
sake of preventing gcc <= 4.4 from complaining by placing the union inside of
additional brackets. The type for here is u32. Since this was added by Eric I'm
assuming - for now - that he had a reason to hardcode this number rather than
using UINT_MAX.
prev parent reply other threads:[~2017-10-23 12:31 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-19 19:11 [PATCH 1/2 v4] user namespace: use union in {g,u}idmap struct Christian Brauner
2017-10-19 19:11 ` [PATCH 2/2 v4] user namespaces: bump idmap limits to 340 Christian Brauner
2017-10-22 18:18 ` Christian Brauner
2017-10-23 6:39 ` [PATCH 1/2 v4] user namespace: use union in {g,u}idmap struct Nikolay Borisov
2017-10-23 6:45 ` Nikolay Borisov
2017-10-23 12:31 ` Christian Brauner [this message]
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=20171023123131.o7geym7rrmnoqq7i@gmail.com \
--to=christian.brauner@canonical.com \
--cc=christian.brauner@ubuntu.com \
--cc=ebiederm@xmission.com \
--cc=linux-kernel@vger.kernel.org \
--cc=nborisov@suse.com \
--cc=serge@hallyn.com \
--cc=stgraber@ubuntu.com \
--cc=tycho@tycho.ws \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox