mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
cred: Refcount the user_ns pointed to by the cred.
struct user_struct will shortly loose it's user_ns reference so make the cred user_ns reference a proper reference complete with reference counting. Acked-by: Serge Hallyn <serge.hallyn@canonical.com> Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
This commit is contained in:
parent
c4a4d60379
commit
0093ccb68f
4 changed files with 10 additions and 10 deletions
|
@ -24,7 +24,7 @@ static struct kmem_cache *user_ns_cachep __read_mostly;
|
|||
*/
|
||||
int create_user_ns(struct cred *new)
|
||||
{
|
||||
struct user_namespace *ns;
|
||||
struct user_namespace *ns, *parent_ns = new->user_ns;
|
||||
struct user_struct *root_user;
|
||||
int n;
|
||||
|
||||
|
@ -57,8 +57,10 @@ int create_user_ns(struct cred *new)
|
|||
#endif
|
||||
/* tgcred will be cleared in our caller bc CLONE_THREAD won't be set */
|
||||
|
||||
/* root_user holds a reference to ns, our reference can be dropped */
|
||||
put_user_ns(ns);
|
||||
/* Leave the reference to our user_ns with the new cred */
|
||||
new->user_ns = ns;
|
||||
|
||||
put_user_ns(parent_ns);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue