linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Dwight Engen <dwight.engen@oracle.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: cbe-oss-dev@lists.ozlabs.org,
	Stephen Rothwell <sfr@canb.auug.org.au>,
	linux-kernel@vger.kernel.org, xfs@oss.sgi.com,
	Ben Myers <bpm@sgi.com>,
	linux-next@vger.kernel.org, Gao feng <gaofeng@cn.fujitsu.com>,
	linuxppc-dev@lists.ozlabs.org, Jeremy Kerr <jk@ozlabs.org>
Subject: Re: linux-next: build failure after merge of the final tree
Date: Wed, 21 Aug 2013 01:08:22 -0400	[thread overview]
Message-ID: <20130821010822.220f592a@oracle.com> (raw)
In-Reply-To: <201308202246.30869.arnd@arndb.de>

On Tue, 20 Aug 2013 22:46:30 +0200
Arnd Bergmann <arnd@arndb.de> wrote:

> On Tuesday 20 August 2013, Dwight Engen wrote:
> > diff --git a/arch/powerpc/platforms/cell/spufs/inode.c
> > b/arch/powerpc/platforms/cell/spufs/inode.c index f390042..90fb308
> > 100644 --- a/arch/powerpc/platforms/cell/spufs/inode.c
> > +++ b/arch/powerpc/platforms/cell/spufs/inode.c
> > @@ -620,12 +620,12 @@ spufs_parse_options(struct super_block *sb,
> > char *options, struct inode *root) case Opt_uid:
> >                         if (match_int(&args[0], &option))
> >                                 return 0;
> > -                       root->i_uid = option;
> > +                       root->i_uid = make_kuid(&init_user_ns,
> > option); break;
> >                 case Opt_gid:
> >                         if (match_int(&args[0], &option))
> >                                 return 0;
> > -                       root->i_gid = option;
> > +                       root->i_gid = make_kgid(&init_user_ns,
> > option); break;
> >                 case Opt_mode:
> >                         if (match_octal(&args[0], &option))
> 
> Doesn't this mean the uid/gid is taken from the initial namespace
> rather than from the namespace of the 'mount' process calling this? I
> think the logical choice would be to have the UID be the one that
> gets passed here in the caller's namespace.

Yes, I agree. The other filesystems that take an Opt_uid as well do use
current_user_ns() and not init_user_ns. They also do a uid_valid()
check and fail the mount (or fallback to GLOBAL_ROOT_UID). So I think
that would look like this:

diff --git a/arch/powerpc/platforms/cell/spufs/inode.c b/arch/powerpc/platforms/cell/spufs/inode.c
index f390042..87ba7cf 100644
--- a/arch/powerpc/platforms/cell/spufs/inode.c
+++ b/arch/powerpc/platforms/cell/spufs/inode.c
@@ -620,12 +620,16 @@ spufs_parse_options(struct super_block *sb, char *options, struct inode *root)
                case Opt_uid:
                        if (match_int(&args[0], &option))
                                return 0;
-                       root->i_uid = option;
+                       root->i_uid = make_kuid(current_user_ns(), option);
+                       if (!uid_valid(root->i_uid))
+                               return 0;
                        break;
                case Opt_gid:
                        if (match_int(&args[0], &option))
                                return 0;
-                       root->i_gid = option;
+                       root->i_gid = make_kgid(current_user_ns(), option);
+                       if (!gid_valid(root->i_gid))
+                               return 0;
                        break;
                case Opt_mode:
                        if (match_octal(&args[0], &option))

Again, I have not run tested this so we may just want to disable SPU_FS
with USER_NS until they can be tested together.

  reply	other threads:[~2013-08-21  5:08 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-20  7:20 linux-next: build failure after merge of the final tree Stephen Rothwell
2013-08-20 16:07 ` Dwight Engen
2013-08-20 19:28   ` Ben Myers
2013-08-21  0:22     ` Stephen Rothwell
2013-08-21 15:54       ` Ben Myers
2013-08-20 20:46   ` Arnd Bergmann
2013-08-21  5:08     ` Dwight Engen [this message]
2013-08-21  6:30       ` Jeremy Kerr
2013-08-21 15:56         ` Ben Myers
2013-08-21 18:33           ` [PATCH] powerpc/spufs: convert userns uid/gid mount options to kuid/kgid Dwight Engen
2013-08-21 20:05             ` Arnd Bergmann
2013-08-21 20:24               ` Ben Myers
  -- strict thread matches above, loose matches on Subject: below --
2014-01-06  9:28 linux-next: build failure after merge of the final tree Stephen Rothwell
2014-01-06 23:12 ` Benjamin Herrenschmidt
2012-07-05  8:33 Stephen Rothwell
2012-07-05  9:43 ` Alan Modra
2012-07-06  0:21   ` Stephen Rothwell
2012-07-06  0:57     ` Alan Modra
2012-07-06  3:01       ` Stephen Rothwell
2012-07-06  6:08         ` Alan Modra
2012-02-27  6:37 Stephen Rothwell
2012-02-27  9:19 ` Benjamin Herrenschmidt
2012-02-27 23:30   ` Benjamin Herrenschmidt
2012-01-20  7:21 Stephen Rothwell
2012-01-20  9:08 ` Deepthi Dharwar
2011-07-18  9:35 Stephen Rothwell
2011-01-31  6:26 Stephen Rothwell

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=20130821010822.220f592a@oracle.com \
    --to=dwight.engen@oracle.com \
    --cc=arnd@arndb.de \
    --cc=bpm@sgi.com \
    --cc=cbe-oss-dev@lists.ozlabs.org \
    --cc=gaofeng@cn.fujitsu.com \
    --cc=jk@ozlabs.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=sfr@canb.auug.org.au \
    --cc=xfs@oss.sgi.com \
    /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;
as well as URLs for NNTP newsgroup(s).