From: Jan Kara <jack-AlSwsSmVLrQ@public.gmane.org>
To: "Eric W. Biederman" <ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
Cc: Jan Kara <jack-AlSwsSmVLrQ@public.gmane.org>,
Linux API <linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
Linux Containers
<containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>,
Andy Lutomirski <luto-kltTT9wpgjJwATOyAt5JVQ@public.gmane.org>,
James Bottomley
<James.Bottomley-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org>,
Seth Forshee
<seth.forshee-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>,
Michael Kerrisk
<mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Jann Horn <jann-XZ1E9jl8jIdeoWH0uzbU5w@public.gmane.org>,
Djalal Harouni <tixxdz-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Subject: Re: [PATCH review 08/12] quota: Ensure qids map to the filesystem
Date: Mon, 11 Jul 2016 12:14:24 +0200 [thread overview]
Message-ID: <20160711101424.GH12410@quack2.suse.cz> (raw)
In-Reply-To: <20160706181212.16267-8-ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
On Wed 06-07-16 13:12:08, Eric W. Biederman wrote:
> Introduce the helper qid_has_mapping and use it to ensure that the
> quota system only considers qids that map to the filesystems
> s_user_ns.
>
> In practice for quota supporting filesystems today this is the exact
> same check as qid_valid. As only 0xffffffff aka (qid_t)-1 does not
> map into init_user_ns.
>
> Replace the qid_valid calls with qid_has_mapping as values come in
> from userspace. This is harmless today and it prepares the quota
> system to work on filesystems with quotas but mounted by unprivileged
> users.
>
> Call qid_has_mapping from dqget. This ensures the passed in qid has a
> prepresentation on the underlying filesystem. Previously this was
> unnecessary as filesystesm never had qids that could not map. With
> the introduction of filesystems outside of s_user_ns this will not
> remain true.
>
> All of this ensures the quota code never has to deal with qids that
> don't map to the underlying filesystem.
Does this and the following patch make sense when we actually don't allow
quotas when s_user_ns is set? If things are untested, they will get broken
so I think it is wiser to do the conversion only once we decide quota
should be supported for namespaces != init_user_ns. Or do I miss something?
Honza
>
> Cc: Jan Kara <jack-AlSwsSmVLrQ@public.gmane.org>
> Acked-by: Seth Forshee <seth.forshee-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
> Signed-off-by: "Eric W. Biederman" <ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
> ---
> fs/quota/dquot.c | 3 +++
> fs/quota/quota.c | 12 ++++++------
> include/linux/quota.h | 10 ++++++++++
> 3 files changed, 19 insertions(+), 6 deletions(-)
>
> diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c
> index ff21980d0119..74706b6aa747 100644
> --- a/fs/quota/dquot.c
> +++ b/fs/quota/dquot.c
> @@ -841,6 +841,9 @@ struct dquot *dqget(struct super_block *sb, struct kqid qid)
> unsigned int hashent = hashfn(sb, qid);
> struct dquot *dquot, *empty = NULL;
>
> + if (!qid_has_mapping(sb->s_user_ns, qid))
> + return ERR_PTR(-EINVAL);
> +
> if (!sb_has_quota_active(sb, qid.type))
> return ERR_PTR(-ESRCH);
> we_slept:
> diff --git a/fs/quota/quota.c b/fs/quota/quota.c
> index 0f10ee9892ce..73f6f4cf0a21 100644
> --- a/fs/quota/quota.c
> +++ b/fs/quota/quota.c
> @@ -211,7 +211,7 @@ static int quota_getquota(struct super_block *sb, int type, qid_t id,
> if (!sb->s_qcop->get_dqblk)
> return -ENOSYS;
> qid = make_kqid(current_user_ns(), type, id);
> - if (!qid_valid(qid))
> + if (!qid_has_mapping(sb->s_user_ns, qid))
> return -EINVAL;
> ret = sb->s_qcop->get_dqblk(sb, qid, &fdq);
> if (ret)
> @@ -237,7 +237,7 @@ static int quota_getnextquota(struct super_block *sb, int type, qid_t id,
> if (!sb->s_qcop->get_nextdqblk)
> return -ENOSYS;
> qid = make_kqid(current_user_ns(), type, id);
> - if (!qid_valid(qid))
> + if (!qid_has_mapping(sb->s_user_ns, qid))
> return -EINVAL;
> ret = sb->s_qcop->get_nextdqblk(sb, &qid, &fdq);
> if (ret)
> @@ -288,7 +288,7 @@ static int quota_setquota(struct super_block *sb, int type, qid_t id,
> if (!sb->s_qcop->set_dqblk)
> return -ENOSYS;
> qid = make_kqid(current_user_ns(), type, id);
> - if (!qid_valid(qid))
> + if (!qid_has_mapping(sb->s_user_ns, qid))
> return -EINVAL;
> copy_from_if_dqblk(&fdq, &idq);
> return sb->s_qcop->set_dqblk(sb, qid, &fdq);
> @@ -581,7 +581,7 @@ static int quota_setxquota(struct super_block *sb, int type, qid_t id,
> if (!sb->s_qcop->set_dqblk)
> return -ENOSYS;
> qid = make_kqid(current_user_ns(), type, id);
> - if (!qid_valid(qid))
> + if (!qid_has_mapping(sb->s_user_ns, qid))
> return -EINVAL;
> /* Are we actually setting timer / warning limits for all users? */
> if (from_kqid(&init_user_ns, qid) == 0 &&
> @@ -642,7 +642,7 @@ static int quota_getxquota(struct super_block *sb, int type, qid_t id,
> if (!sb->s_qcop->get_dqblk)
> return -ENOSYS;
> qid = make_kqid(current_user_ns(), type, id);
> - if (!qid_valid(qid))
> + if (!qid_has_mapping(sb->s_user_ns, qid))
> return -EINVAL;
> ret = sb->s_qcop->get_dqblk(sb, qid, &qdq);
> if (ret)
> @@ -669,7 +669,7 @@ static int quota_getnextxquota(struct super_block *sb, int type, qid_t id,
> if (!sb->s_qcop->get_nextdqblk)
> return -ENOSYS;
> qid = make_kqid(current_user_ns(), type, id);
> - if (!qid_valid(qid))
> + if (!qid_has_mapping(sb->s_user_ns, qid))
> return -EINVAL;
> ret = sb->s_qcop->get_nextdqblk(sb, &qid, &qdq);
> if (ret)
> diff --git a/include/linux/quota.h b/include/linux/quota.h
> index 9dfb6bce8c9e..1db16ee39b31 100644
> --- a/include/linux/quota.h
> +++ b/include/linux/quota.h
> @@ -179,6 +179,16 @@ static inline struct kqid make_kqid_projid(kprojid_t projid)
> return kqid;
> }
>
> +/**
> + * qid_has_mapping - Report if a qid maps into a user namespace.
> + * @ns: The user namespace to see if a value maps into.
> + * @qid: The kernel internal quota identifier to test.
> + */
> +static inline bool qid_has_mapping(struct user_namespace *ns, struct kqid qid)
> +{
> + return from_kqid(ns, qid) != (qid_t) -1;
> +}
> +
>
> extern spinlock_t dq_data_lock;
>
> --
> 2.8.3
>
--
Jan Kara <jack-IBi9RG/b67k@public.gmane.org>
SUSE Labs, CR
WARNING: multiple messages have this Message-ID (diff)
From: Jan Kara <jack@suse.cz>
To: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Linux Containers <containers@lists.linux-foundation.org>,
Seth Forshee <seth.forshee@canonical.com>,
linux-fsdevel@vger.kernel.org,
Linux API <linux-api@vger.kernel.org>,
James Bottomley <James.Bottomley@HansenPartnership.com>,
Djalal Harouni <tixxdz@gmail.com>,
"Serge E. Hallyn" <serge@hallyn.com>,
Andy Lutomirski <luto@amacapital.net>, Jan Kara <jack@suse.cz>,
Jann Horn <jann@thejh.net>,
Michael Kerrisk <mtk.manpages@gmail.com>
Subject: Re: [PATCH review 08/12] quota: Ensure qids map to the filesystem
Date: Mon, 11 Jul 2016 12:14:24 +0200 [thread overview]
Message-ID: <20160711101424.GH12410@quack2.suse.cz> (raw)
In-Reply-To: <20160706181212.16267-8-ebiederm@xmission.com>
On Wed 06-07-16 13:12:08, Eric W. Biederman wrote:
> Introduce the helper qid_has_mapping and use it to ensure that the
> quota system only considers qids that map to the filesystems
> s_user_ns.
>
> In practice for quota supporting filesystems today this is the exact
> same check as qid_valid. As only 0xffffffff aka (qid_t)-1 does not
> map into init_user_ns.
>
> Replace the qid_valid calls with qid_has_mapping as values come in
> from userspace. This is harmless today and it prepares the quota
> system to work on filesystems with quotas but mounted by unprivileged
> users.
>
> Call qid_has_mapping from dqget. This ensures the passed in qid has a
> prepresentation on the underlying filesystem. Previously this was
> unnecessary as filesystesm never had qids that could not map. With
> the introduction of filesystems outside of s_user_ns this will not
> remain true.
>
> All of this ensures the quota code never has to deal with qids that
> don't map to the underlying filesystem.
Does this and the following patch make sense when we actually don't allow
quotas when s_user_ns is set? If things are untested, they will get broken
so I think it is wiser to do the conversion only once we decide quota
should be supported for namespaces != init_user_ns. Or do I miss something?
Honza
>
> Cc: Jan Kara <jack@suse.cz>
> Acked-by: Seth Forshee <seth.forshee@canonical.com>
> Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
> ---
> fs/quota/dquot.c | 3 +++
> fs/quota/quota.c | 12 ++++++------
> include/linux/quota.h | 10 ++++++++++
> 3 files changed, 19 insertions(+), 6 deletions(-)
>
> diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c
> index ff21980d0119..74706b6aa747 100644
> --- a/fs/quota/dquot.c
> +++ b/fs/quota/dquot.c
> @@ -841,6 +841,9 @@ struct dquot *dqget(struct super_block *sb, struct kqid qid)
> unsigned int hashent = hashfn(sb, qid);
> struct dquot *dquot, *empty = NULL;
>
> + if (!qid_has_mapping(sb->s_user_ns, qid))
> + return ERR_PTR(-EINVAL);
> +
> if (!sb_has_quota_active(sb, qid.type))
> return ERR_PTR(-ESRCH);
> we_slept:
> diff --git a/fs/quota/quota.c b/fs/quota/quota.c
> index 0f10ee9892ce..73f6f4cf0a21 100644
> --- a/fs/quota/quota.c
> +++ b/fs/quota/quota.c
> @@ -211,7 +211,7 @@ static int quota_getquota(struct super_block *sb, int type, qid_t id,
> if (!sb->s_qcop->get_dqblk)
> return -ENOSYS;
> qid = make_kqid(current_user_ns(), type, id);
> - if (!qid_valid(qid))
> + if (!qid_has_mapping(sb->s_user_ns, qid))
> return -EINVAL;
> ret = sb->s_qcop->get_dqblk(sb, qid, &fdq);
> if (ret)
> @@ -237,7 +237,7 @@ static int quota_getnextquota(struct super_block *sb, int type, qid_t id,
> if (!sb->s_qcop->get_nextdqblk)
> return -ENOSYS;
> qid = make_kqid(current_user_ns(), type, id);
> - if (!qid_valid(qid))
> + if (!qid_has_mapping(sb->s_user_ns, qid))
> return -EINVAL;
> ret = sb->s_qcop->get_nextdqblk(sb, &qid, &fdq);
> if (ret)
> @@ -288,7 +288,7 @@ static int quota_setquota(struct super_block *sb, int type, qid_t id,
> if (!sb->s_qcop->set_dqblk)
> return -ENOSYS;
> qid = make_kqid(current_user_ns(), type, id);
> - if (!qid_valid(qid))
> + if (!qid_has_mapping(sb->s_user_ns, qid))
> return -EINVAL;
> copy_from_if_dqblk(&fdq, &idq);
> return sb->s_qcop->set_dqblk(sb, qid, &fdq);
> @@ -581,7 +581,7 @@ static int quota_setxquota(struct super_block *sb, int type, qid_t id,
> if (!sb->s_qcop->set_dqblk)
> return -ENOSYS;
> qid = make_kqid(current_user_ns(), type, id);
> - if (!qid_valid(qid))
> + if (!qid_has_mapping(sb->s_user_ns, qid))
> return -EINVAL;
> /* Are we actually setting timer / warning limits for all users? */
> if (from_kqid(&init_user_ns, qid) == 0 &&
> @@ -642,7 +642,7 @@ static int quota_getxquota(struct super_block *sb, int type, qid_t id,
> if (!sb->s_qcop->get_dqblk)
> return -ENOSYS;
> qid = make_kqid(current_user_ns(), type, id);
> - if (!qid_valid(qid))
> + if (!qid_has_mapping(sb->s_user_ns, qid))
> return -EINVAL;
> ret = sb->s_qcop->get_dqblk(sb, qid, &qdq);
> if (ret)
> @@ -669,7 +669,7 @@ static int quota_getnextxquota(struct super_block *sb, int type, qid_t id,
> if (!sb->s_qcop->get_nextdqblk)
> return -ENOSYS;
> qid = make_kqid(current_user_ns(), type, id);
> - if (!qid_valid(qid))
> + if (!qid_has_mapping(sb->s_user_ns, qid))
> return -EINVAL;
> ret = sb->s_qcop->get_nextdqblk(sb, &qid, &qdq);
> if (ret)
> diff --git a/include/linux/quota.h b/include/linux/quota.h
> index 9dfb6bce8c9e..1db16ee39b31 100644
> --- a/include/linux/quota.h
> +++ b/include/linux/quota.h
> @@ -179,6 +179,16 @@ static inline struct kqid make_kqid_projid(kprojid_t projid)
> return kqid;
> }
>
> +/**
> + * qid_has_mapping - Report if a qid maps into a user namespace.
> + * @ns: The user namespace to see if a value maps into.
> + * @qid: The kernel internal quota identifier to test.
> + */
> +static inline bool qid_has_mapping(struct user_namespace *ns, struct kqid qid)
> +{
> + return from_kqid(ns, qid) != (qid_t) -1;
> +}
> +
>
> extern spinlock_t dq_data_lock;
>
> --
> 2.8.3
>
--
Jan Kara <jack@suse.com>
SUSE Labs, CR
next prev parent reply other threads:[~2016-07-11 10:14 UTC|newest]
Thread overview: 134+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-02 17:18 [PATCH review 0/11] General unprivileged mount support Eric W. Biederman
2016-07-02 17:18 ` Eric W. Biederman
2016-07-02 17:20 ` [PATCH review 01/11] fs: Refuse uid/gid changes which don't map into s_user_ns Eric W. Biederman
2016-07-02 17:20 ` [PATCH review 03/11] vfs: Verify acls are valid within superblock's s_user_ns Eric W. Biederman
2016-07-02 17:20 ` [PATCH review 05/11] cred: Reject inodes with invalid ids in set_create_file_as() Eric W. Biederman
2016-07-02 17:20 ` [PATCH review 07/11] vfs: Don't create inodes with a uid or gid unknown to the vfs Eric W. Biederman
[not found] ` <20160702172035.19568-7-ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
2016-07-04 7:59 ` Jan Kara
2016-07-04 7:59 ` Jan Kara
[not found] ` <20160704075919.GA5200-4I4JzKEfoa/jFM9bn6wA6Q@public.gmane.org>
2016-07-05 14:55 ` Eric W. Biederman
2016-07-05 14:55 ` Eric W. Biederman
[not found] ` <87zipwxhgp.fsf-JOvCrm2gF+uungPnsOpG7nhyD016LWXt@public.gmane.org>
2016-07-06 9:07 ` Jan Kara
2016-07-06 9:07 ` Jan Kara
[not found] ` <20160706090705.GE14067-4I4JzKEfoa/jFM9bn6wA6Q@public.gmane.org>
2016-07-06 15:37 ` Eric W. Biederman
2016-07-06 15:37 ` Eric W. Biederman
2016-07-06 15:37 ` Eric W. Biederman
2016-07-04 7:59 ` Jan Kara
2016-07-02 17:20 ` [PATCH review 08/11] quota: Ensure qids map to the filesystem Eric W. Biederman
[not found] ` <20160702172035.19568-1-ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
2016-07-02 17:20 ` [PATCH review 02/11] userns: Handle -1 in k[ug]id_has_mapping when !CONFIG_USER_NS Eric W. Biederman
2016-07-02 17:20 ` Eric W. Biederman
2016-07-02 17:20 ` [PATCH review 03/11] vfs: Verify acls are valid within superblock's s_user_ns Eric W. Biederman
2016-07-02 17:20 ` [PATCH review 04/11] fs: Check for invalid i_uid in may_follow_link() Eric W. Biederman
2016-07-02 17:20 ` Eric W. Biederman
2016-07-02 17:20 ` Eric W. Biederman
2016-07-02 17:20 ` [PATCH review 05/11] cred: Reject inodes with invalid ids in set_create_file_as() Eric W. Biederman
2016-07-02 17:20 ` [PATCH review 06/11] vfs: Don't modify inodes with a uid or gid unknown to the vfs Eric W. Biederman
2016-07-02 17:20 ` Eric W. Biederman
2016-07-02 17:20 ` Eric W. Biederman
2016-07-02 17:20 ` [PATCH review 07/11] vfs: Don't create " Eric W. Biederman
2016-07-02 17:20 ` [PATCH review 08/11] quota: Ensure qids map to the filesystem Eric W. Biederman
2016-07-02 17:20 ` [PATCH review 09/11] quota: Handle quota data stored in s_user_ns Eric W. Biederman
2016-07-02 17:20 ` Eric W. Biederman
2016-07-02 17:20 ` Eric W. Biederman
[not found] ` <20160702172035.19568-9-ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
2016-07-02 17:33 ` [PATCH v2 " Eric W. Biederman
2016-07-02 17:33 ` Eric W. Biederman
[not found] ` <87mvm03pxy.fsf_-_-JOvCrm2gF+uungPnsOpG7nhyD016LWXt@public.gmane.org>
2016-07-04 9:11 ` Jan Kara
2016-07-04 9:11 ` Jan Kara
2016-07-05 14:48 ` Seth Forshee
[not found] ` <20160704091100.GD5200-4I4JzKEfoa/jFM9bn6wA6Q@public.gmane.org>
2016-07-05 14:48 ` Seth Forshee
2016-07-05 15:34 ` Eric W. Biederman
2016-07-05 15:34 ` Eric W. Biederman
[not found] ` <87d1msumhy.fsf-JOvCrm2gF+uungPnsOpG7nhyD016LWXt@public.gmane.org>
2016-07-05 20:57 ` Dave Chinner
2016-07-05 20:57 ` Dave Chinner
2016-07-05 21:28 ` Eric W. Biederman
2016-07-05 21:28 ` Eric W. Biederman
2016-07-05 21:28 ` Eric W. Biederman
[not found] ` <8737nnrcyy.fsf-JOvCrm2gF+uungPnsOpG7nhyD016LWXt@public.gmane.org>
2016-07-06 6:35 ` Dave Chinner
2016-07-06 6:35 ` Dave Chinner
2016-07-06 8:25 ` Jan Kara
2016-07-06 8:25 ` Jan Kara
2016-07-06 17:51 ` Eric W. Biederman
[not found] ` <20160706082545.GC14067-4I4JzKEfoa/jFM9bn6wA6Q@public.gmane.org>
2016-07-06 17:51 ` Eric W. Biederman
2016-07-05 20:57 ` Dave Chinner
2016-07-04 9:11 ` Jan Kara
2016-07-02 17:33 ` Eric W. Biederman
2016-07-02 17:20 ` [PATCH review 10/11] evm: Translate user/group ids relative to s_user_ns when computing HMAC Eric W. Biederman
2016-07-02 17:20 ` [PATCH review 11/11] fs: Update i_[ug]id_(read|write) to translate relative to s_user_ns Eric W. Biederman
2016-07-02 17:20 ` Eric W. Biederman
2016-07-02 17:20 ` [PATCH review 10/11] evm: Translate user/group ids relative to s_user_ns when computing HMAC Eric W. Biederman
2016-07-04 8:52 ` [PATCH review 0/11] General unprivileged mount support Jan Kara
[not found] ` <20160704085220.GC5200-4I4JzKEfoa/jFM9bn6wA6Q@public.gmane.org>
2016-07-04 16:27 ` Eric W. Biederman
2016-07-04 16:27 ` Eric W. Biederman
2016-07-04 16:27 ` Eric W. Biederman
[not found] ` <87h9c52wsd.fsf-JOvCrm2gF+uungPnsOpG7nhyD016LWXt@public.gmane.org>
2016-07-06 8:54 ` Jan Kara
2016-07-06 8:54 ` Jan Kara
[not found] ` <20160706085440.GD14067-4I4JzKEfoa/jFM9bn6wA6Q@public.gmane.org>
2016-07-06 13:54 ` Seth Forshee
2016-07-06 13:54 ` Seth Forshee
2016-07-06 14:22 ` Jan Kara
2016-07-06 14:22 ` Jan Kara
[not found] ` <20160706142255.GB21164-4I4JzKEfoa/jFM9bn6wA6Q@public.gmane.org>
2016-07-06 14:46 ` Seth Forshee
2016-07-06 15:01 ` Eric W. Biederman
2016-07-06 15:23 ` James Bottomley
2016-07-06 14:46 ` Seth Forshee
2016-07-06 15:01 ` Eric W. Biederman
2016-07-06 15:23 ` James Bottomley
[not found] ` <1467818630.2369.21.camel-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org>
2016-07-06 16:35 ` Eric W. Biederman
2016-07-06 16:35 ` Eric W. Biederman
2016-07-06 14:22 ` Jan Kara
[not found] ` <87ziq03qnj.fsf-JOvCrm2gF+uungPnsOpG7nhyD016LWXt@public.gmane.org>
2016-07-02 17:20 ` [PATCH review 01/11] fs: Refuse uid/gid changes which don't map into s_user_ns Eric W. Biederman
2016-07-04 8:52 ` [PATCH review 0/11] General unprivileged mount support Jan Kara
2016-07-06 13:44 ` Andy Lutomirski
2016-07-06 13:44 ` Andy Lutomirski
2016-07-06 13:44 ` Andy Lutomirski
[not found] ` <CALCETrVof174gPCZnD2Z-RMjR-P=NcA0mYCU9ki6=o9hpFL-BA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-07-06 15:21 ` Eric W. Biederman
2016-07-06 15:21 ` Eric W. Biederman
2016-07-06 14:01 ` Andy Lutomirski
2016-07-06 14:01 ` Andy Lutomirski
2016-07-06 15:19 ` Eric W. Biederman
2016-07-06 15:19 ` Eric W. Biederman
2016-07-06 14:01 ` Andy Lutomirski
2016-07-06 18:10 ` [PATCH review 0/12] General unprivileged mount support v2 Eric W. Biederman
2016-07-06 18:10 ` Eric W. Biederman
[not found] ` <874m82bptc.fsf-JOvCrm2gF+uungPnsOpG7nhyD016LWXt@public.gmane.org>
2016-07-06 18:12 ` [PATCH review 01/12] fs: Refuse uid/gid changes which don't map into s_user_ns Eric W. Biederman
2016-07-06 18:12 ` Eric W. Biederman
2016-07-06 18:12 ` [PATCH review 02/12] userns: Handle -1 in k[ug]id_has_mapping when !CONFIG_USER_NS Eric W. Biederman
2016-07-06 18:12 ` [PATCH review 03/12] vfs: Verify acls are valid within superblock's s_user_ns Eric W. Biederman
2016-07-06 18:12 ` [PATCH review 04/12] fs: Check for invalid i_uid in may_follow_link() Eric W. Biederman
2016-07-06 18:12 ` [PATCH review 05/12] cred: Reject inodes with invalid ids in set_create_file_as() Eric W. Biederman
2016-07-06 18:12 ` [PATCH review 08/12] quota: Ensure qids map to the filesystem Eric W. Biederman
[not found] ` <20160706181212.16267-8-ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
2016-07-11 10:14 ` Jan Kara [this message]
2016-07-11 10:14 ` Jan Kara
[not found] ` <20160711101424.GH12410-4I4JzKEfoa/jFM9bn6wA6Q@public.gmane.org>
2016-07-11 18:12 ` Eric W. Biederman
2016-07-11 18:12 ` Eric W. Biederman
[not found] ` <878tx8dowu.fsf-JOvCrm2gF+uungPnsOpG7nhyD016LWXt@public.gmane.org>
2016-07-13 1:34 ` Dave Chinner
2016-07-13 1:34 ` Dave Chinner
2016-07-13 3:45 ` Dave Chinner
2016-07-13 3:45 ` Dave Chinner
2016-07-13 5:43 ` Jann Horn
2016-07-13 5:43 ` Jann Horn
2016-07-14 17:03 ` Eric W. Biederman
[not found] ` <20160713054358.GB28635-J1fxOzX/cBvk1uMJSBkQmQ@public.gmane.org>
2016-07-14 17:03 ` Eric W. Biederman
2016-07-11 18:12 ` Eric W. Biederman
2016-07-06 18:12 ` [PATCH review 09/12] quota: Handle quota data stored in s_user_ns in quota_setxquota Eric W. Biederman
2016-07-06 18:12 ` [PATCH review 12/12] fs: Update i_[ug]id_(read|write) to translate relative to s_user_ns Eric W. Biederman
[not found] ` <20160706181212.16267-1-ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
2016-07-06 18:12 ` [PATCH review 02/12] userns: Handle -1 in k[ug]id_has_mapping when !CONFIG_USER_NS Eric W. Biederman
2016-07-06 18:12 ` [PATCH review 03/12] vfs: Verify acls are valid within superblock's s_user_ns Eric W. Biederman
2016-07-06 18:12 ` [PATCH review 04/12] fs: Check for invalid i_uid in may_follow_link() Eric W. Biederman
2016-07-06 18:12 ` [PATCH review 05/12] cred: Reject inodes with invalid ids in set_create_file_as() Eric W. Biederman
2016-07-06 18:12 ` [PATCH review 06/12] vfs: Don't modify inodes with a uid or gid unknown to the vfs Eric W. Biederman
2016-07-06 18:12 ` Eric W. Biederman
2016-07-06 18:12 ` Eric W. Biederman
2016-07-06 18:12 ` [PATCH review 07/12] vfs: Don't create " Eric W. Biederman
2016-07-06 18:12 ` Eric W. Biederman
2016-07-06 18:12 ` Eric W. Biederman
2016-07-06 18:12 ` [PATCH review 08/12] quota: Ensure qids map to the filesystem Eric W. Biederman
2016-07-06 18:12 ` [PATCH review 09/12] quota: Handle quota data stored in s_user_ns in quota_setxquota Eric W. Biederman
2016-07-06 18:12 ` [PATCH review 10/12] dquot: For now explicitly don't support filesystems outside of init_user_ns Eric W. Biederman
2016-07-06 18:12 ` Eric W. Biederman
[not found] ` <20160706181212.16267-10-ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
2016-07-11 10:09 ` Jan Kara
2016-07-11 10:09 ` Jan Kara
2016-07-06 18:12 ` Eric W. Biederman
2016-07-06 18:12 ` [PATCH review 11/12] evm: Translate user/group ids relative to s_user_ns when computing HMAC Eric W. Biederman
2016-07-06 18:12 ` Eric W. Biederman
2016-07-06 18:12 ` Eric W. Biederman
2016-07-06 18:12 ` [PATCH review 12/12] fs: Update i_[ug]id_(read|write) to translate relative to s_user_ns Eric W. Biederman
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=20160711101424.GH12410@quack2.suse.cz \
--to=jack-alswssmvlrq@public.gmane.org \
--cc=James.Bottomley-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org \
--cc=containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
--cc=ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org \
--cc=jann-XZ1E9jl8jIdeoWH0uzbU5w@public.gmane.org \
--cc=linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=luto-kltTT9wpgjJwATOyAt5JVQ@public.gmane.org \
--cc=mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=seth.forshee-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org \
--cc=tixxdz-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.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.