From: "Eric W. Biederman" <ebied...@xmission.com>

Cc: Bob Copeland <m...@bobcopeland.com>
Acked-by: Serge Hallyn <serge.hal...@canonical.com>
Signed-off-by: Eric W. Biederman <ebied...@xmission.com>
---
 fs/omfs/inode.c |    8 ++++++--
 fs/omfs/omfs.h  |    4 ++--
 init/Kconfig    |    1 -
 3 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/fs/omfs/inode.c b/fs/omfs/inode.c
index e6213b3..25d715c 100644
--- a/fs/omfs/inode.c
+++ b/fs/omfs/inode.c
@@ -391,12 +391,16 @@ static int parse_options(char *options, struct 
omfs_sb_info *sbi)
                case Opt_uid:
                        if (match_int(&args[0], &option))
                                return 0;
-                       sbi->s_uid = option;
+                       sbi->s_uid = make_kuid(current_user_ns(), option);
+                       if (!uid_valid(sbi->s_uid))
+                               return 0;
                        break;
                case Opt_gid:
                        if (match_int(&args[0], &option))
                                return 0;
-                       sbi->s_gid = option;
+                       sbi->s_gid = make_kgid(current_user_ns(), option);
+                       if (!gid_valid(sbi->s_gid))
+                               return 0;
                        break;
                case Opt_umask:
                        if (match_octal(&args[0], &option))
diff --git a/fs/omfs/omfs.h b/fs/omfs/omfs.h
index 8941f12..f0f8bc7 100644
--- a/fs/omfs/omfs.h
+++ b/fs/omfs/omfs.h
@@ -19,8 +19,8 @@ struct omfs_sb_info {
        unsigned long **s_imap;
        int s_imap_size;
        struct mutex s_bitmap_lock;
-       int s_uid;
-       int s_gid;
+       kuid_t s_uid;
+       kgid_t s_gid;
        int s_dmask;
        int s_fmask;
 };
diff --git a/init/Kconfig b/init/Kconfig
index 0f65a02..390e629 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -950,7 +950,6 @@ config UIDGID_CONVERTED
        depends on NFSD = n
        depends on NFS_FS = n
        depends on OCFS2_FS = n
-       depends on OMFS_FS = n
        depends on QNX4FS_FS = n
        depends on QNX6FS_FS = n
        depends on REISERFS_FS = n
-- 
1.7.5.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to