Commit:     213dd266d48af90c1eec8688c1ff31aa34d21de2
Parent:     e3a68e30d28dbc6981dfc3d6ceddbfa2f885fe4e
Author:     Eric W. Biederman <[EMAIL PROTECTED]>
AuthorDate: Sun Jul 15 23:41:15 2007 -0700
Committer:  Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Mon Jul 16 09:05:48 2007 -0700

    namespace: ensure clone_flags are always stored in an unsigned long
    While working on unshare support for the network namespace I noticed we
    were putting clone flags in an int.  Which is weird because the syscall
    uses unsigned long and we at least need an unsigned to properly hold all of
    the unshare flags.
    So to make the code consistent, this patch updates the code to use
    unsigned long instead of int for the clone flags in those places
    where we get it wrong today.
    Signed-off-by: Eric W. Biederman <[EMAIL PROTECTED]>
    Acked-by: Cedric Le Goater <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
 fs/namespace.c                |    2 +-
 include/linux/mnt_namespace.h |    2 +-
 include/linux/nsproxy.h       |    2 +-
 include/linux/pid_namespace.h |    2 +-
 include/linux/utsname.h       |    3 ++-
 kernel/nsproxy.c              |    6 +++---
 kernel/pid.c                  |    2 +-
 kernel/utsname.c              |    2 +-
 8 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/fs/namespace.c b/fs/namespace.c
index 5585623..9211da4 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -1509,7 +1509,7 @@ static struct mnt_namespace *dup_mnt_ns(struct 
mnt_namespace *mnt_ns,
        return new_ns;
-struct mnt_namespace *copy_mnt_ns(int flags, struct mnt_namespace *ns,
+struct mnt_namespace *copy_mnt_ns(unsigned long flags, struct mnt_namespace 
                struct fs_struct *new_fs)
        struct mnt_namespace *new_ns;
diff --git a/include/linux/mnt_namespace.h b/include/linux/mnt_namespace.h
index 1fa4d98..8eed44f 100644
--- a/include/linux/mnt_namespace.h
+++ b/include/linux/mnt_namespace.h
@@ -14,7 +14,7 @@ struct mnt_namespace {
        int event;
-extern struct mnt_namespace *copy_mnt_ns(int, struct mnt_namespace *,
+extern struct mnt_namespace *copy_mnt_ns(unsigned long, struct mnt_namespace *,
                struct fs_struct *);
 extern void __put_mnt_ns(struct mnt_namespace *ns);
diff --git a/include/linux/nsproxy.h b/include/linux/nsproxy.h
index 6d179a3..ce06188 100644
--- a/include/linux/nsproxy.h
+++ b/include/linux/nsproxy.h
@@ -32,7 +32,7 @@ struct nsproxy {
 extern struct nsproxy init_nsproxy;
-int copy_namespaces(int flags, struct task_struct *tsk);
+int copy_namespaces(unsigned long flags, struct task_struct *tsk);
 void get_task_namespaces(struct task_struct *tsk);
 void free_nsproxy(struct nsproxy *ns);
 int unshare_nsproxy_namespaces(unsigned long, struct nsproxy **,
diff --git a/include/linux/pid_namespace.h b/include/linux/pid_namespace.h
index 169c6c2..b9a17e0 100644
--- a/include/linux/pid_namespace.h
+++ b/include/linux/pid_namespace.h
@@ -29,7 +29,7 @@ static inline void get_pid_ns(struct pid_namespace *ns)
-extern struct pid_namespace *copy_pid_ns(int flags, struct pid_namespace *ns);
+extern struct pid_namespace *copy_pid_ns(unsigned long flags, struct 
pid_namespace *ns);
 extern void free_pid_ns(struct kref *kref);
 static inline void put_pid_ns(struct pid_namespace *ns)
diff --git a/include/linux/utsname.h b/include/linux/utsname.h
index 51ad167..923db99 100644
--- a/include/linux/utsname.h
+++ b/include/linux/utsname.h
@@ -48,7 +48,8 @@ static inline void get_uts_ns(struct uts_namespace *ns)
-extern struct uts_namespace *copy_utsname(int flags, struct uts_namespace *ns);
+extern struct uts_namespace *copy_utsname(unsigned long flags,
+                                       struct uts_namespace *ns);
 extern void free_uts_ns(struct kref *kref);
 static inline void put_uts_ns(struct uts_namespace *ns)
diff --git a/kernel/nsproxy.c b/kernel/nsproxy.c
index 4b7fcc8..10f0bbb 100644
--- a/kernel/nsproxy.c
+++ b/kernel/nsproxy.c
@@ -58,8 +58,8 @@ static inline struct nsproxy *clone_nsproxy(struct nsproxy 
  * Return the newly created nsproxy.  Do not attach this to the task,
  * leave it to the caller to do proper locking and attach it to task.
-static struct nsproxy *create_new_namespaces(int flags, struct task_struct 
-                       struct fs_struct *new_fs)
+static struct nsproxy *create_new_namespaces(unsigned long flags,
+                       struct task_struct *tsk, struct fs_struct *new_fs)
        struct nsproxy *new_nsp;
        int err;
@@ -121,7 +121,7 @@ out_ns:
  * called from clone.  This now handles copy for nsproxy and all
  * namespaces therein.
-int copy_namespaces(int flags, struct task_struct *tsk)
+int copy_namespaces(unsigned long flags, struct task_struct *tsk)
        struct nsproxy *old_ns = tsk->nsproxy;
        struct nsproxy *new_ns;
diff --git a/kernel/pid.c b/kernel/pid.c
index eb66bd2..c6e3f9f 100644
--- a/kernel/pid.c
+++ b/kernel/pid.c
@@ -365,7 +365,7 @@ struct pid *find_ge_pid(int nr)
-struct pid_namespace *copy_pid_ns(int flags, struct pid_namespace *old_ns)
+struct pid_namespace *copy_pid_ns(unsigned long flags, struct pid_namespace 
diff --git a/kernel/utsname.c b/kernel/utsname.c
index 3ae4393..9d8180a 100644
--- a/kernel/utsname.c
+++ b/kernel/utsname.c
@@ -39,7 +39,7 @@ static struct uts_namespace *clone_uts_ns(struct 
uts_namespace *old_ns)
  * utsname of this process won't be seen by parent, and vice
  * versa.
-struct uts_namespace *copy_utsname(int flags, struct uts_namespace *old_ns)
+struct uts_namespace *copy_utsname(unsigned long flags, struct uts_namespace 
        struct uts_namespace *new_ns;
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at

Reply via email to