Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 213dd266 authored by Eric W. Biederman's avatar Eric W. Biederman Committed by Linus Torvalds
Browse files

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: default avatarEric W. Biederman <ebiederm@xmission.com>
Acked-by: default avatarCedric Le Goater <clg@fr.ibm.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent e3a68e30
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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 *ns,
		struct fs_struct *new_fs)
{
	struct mnt_namespace *new_ns;
+1 −1
Original line number Diff line number Diff line
@@ -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);

+1 −1
Original line number Diff line number Diff line
@@ -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 **,
+1 −1
Original line number Diff line number Diff line
@@ -29,7 +29,7 @@ static inline void get_pid_ns(struct pid_namespace *ns)
	kref_get(&ns->kref);
}

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)
+2 −1
Original line number Diff line number Diff line
@@ -48,7 +48,8 @@ static inline void get_uts_ns(struct uts_namespace *ns)
	kref_get(&ns->kref);
}

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)
Loading