Re: [RFC][PATCH] ns: Syscalls for better namespace sharing control.

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Eric W. Biederman
Date: Monday, March 8, 2010 - 1:32 am

I have take an snapshot of my development tree and placed it at.


git://git.kernel.org/pub/scm/linux/people/ebiederm/linux-2.6.33-nsfd-v5.git



It is a hair more code to use proc files but nothing worth counting.

Probably the biggest thing I am aware of right now in my development
tree is in getting uids to pass properly between unix domain sockets
I would up writing this cred_to_ucred function.

Serge can you take a look and check my logic, and do you have
any idea of where we should place something like pid_vnr but
for the uid namespace?

void cred_to_ucred(struct pid *pid, const struct cred *cred,
		   struct ucred *ucred)
{
	ucred->pid = pid_vnr(pid);
	ucred->uid = ucred->gid = -1;
	if (cred) {
		struct user_namespace *cred_ns = cred->user->user_ns;
		struct user_namespace *current_ns = current_user_ns();
		struct user_namespace *tmp;

		if (likely(cred_ns == current_ns)) {
			ucred->uid = cred->euid;
			ucred->gid = cred->egid;
		} else {
			/* Is cred in a child user namespace */
			tmp = cred_ns;
			do {
				tmp = tmp->creator->user_ns;
				if (tmp == current_ns) {
					ucred->uid = tmp->creator->uid;
					ucred->gid = overflowgid;
					return;
				}
			} while (tmp != &init_user_ns);

			/* Is cred the creator of my user namespace,
			 * or the creator of one of it's parents?
			 */
			for( tmp = current_ns; tmp != &init_user_ns;
			     tmp = tmp->creator->user_ns) {
				if (cred->user == tmp->creator) {
					ucred->uid = 0;
					ucred->gid = 0;
					return;
				}
			}

			/* No user namespace relationship so no mapping */
			ucred->uid = overflowuid;
			ucred->gid = overflowgid;
		}
	}
}

Eric
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[RFC][PATCH] ns: Syscalls for better namespace sharing con ..., Eric W. Biederman, (Thu Feb 25, 1:57 pm)
Re: [RFC][PATCH] ns: Syscalls for better namespace sharing ..., Eric W. Biederman, (Thu Feb 25, 2:49 pm)
Re: [RFC][PATCH] ns: Syscalls for better namespace sharing ..., Eric W. Biederman, (Thu Feb 25, 2:54 pm)
Re: [RFC][PATCH] ns: Syscalls for better namespace sharing ..., Eric W. Biederman, (Thu Feb 25, 3:31 pm)
Re: [RFC][PATCH] ns: Syscalls for better namespace sharing ..., Eric W. Biederman, (Thu Feb 25, 5:53 pm)
Re: [RFC][PATCH] ns: Syscalls for better namespace sharing ..., Eric W. Biederman, (Thu Feb 25, 6:26 pm)
[RFC][PATCH] ns: Syscalls for better namespace sharing con ..., Eric W. Biederman, (Thu Feb 25, 8:15 pm)
Re: [RFC][PATCH] ns: Syscalls for better namespace sharing ..., Eric W. Biederman, (Fri Feb 26, 1:35 pm)
Re: [RFC][PATCH] ns: Syscalls for better namespace sharing ..., Eric W. Biederman, (Fri Feb 26, 2:24 pm)
Re: [RFC][PATCH] ns: Syscalls for better namespace sharing ..., Eric W. Biederman, (Fri Feb 26, 2:42 pm)
Re: [RFC][PATCH] ns: Syscalls for better namespace sharing ..., Eric W. Biederman, (Fri Feb 26, 2:49 pm)
Re: [RFC][PATCH] ns: Syscalls for better namespace sharing ..., Eric W. Biederman, (Fri Feb 26, 3:16 pm)
Re: [RFC][PATCH] ns: Syscalls for better namespace sharing ..., Eric W. Biederman, (Fri Feb 26, 4:13 pm)
Re: [RFC][PATCH] ns: Syscalls for better namespace sharing ..., Eric W. Biederman, (Sat Feb 27, 2:04 am)
Re: [RFC][PATCH] ns: Syscalls for better namespace sharing ..., Eric W. Biederman, (Sat Feb 27, 2:42 am)
Re: [RFC][PATCH] ns: Syscalls for better namespace sharing ..., Eric W. Biederman, (Sat Feb 27, 12:08 pm)
Re: [RFC][PATCH] ns: Syscalls for better namespace sharing ..., Eric W. Biederman, (Sat Feb 27, 12:44 pm)
Re: [RFC][PATCH] ns: Syscalls for better namespace sharing ..., Eric W. Biederman, (Mon Mar 1, 12:24 pm)
Re: [RFC][PATCH] ns: Syscalls for better namespace sharing ..., Sukadev Bhattiprolu, (Tue Mar 2, 2:19 pm)
Re: [RFC][PATCH] ns: Syscalls for better namespace sharing ..., Sukadev Bhattiprolu, (Tue Mar 2, 5:07 pm)
Re: [RFC][PATCH] ns: Syscalls for better namespace sharing ..., Eric W. Biederman, (Wed Mar 3, 12:47 pm)
Re: [RFC][PATCH] ns: Syscalls for better namespace sharing ..., Eric W. Biederman, (Mon Mar 8, 1:32 am)
Re: [RFC][PATCH] ns: Syscalls for better namespace sharing ..., Eric W. Biederman, (Mon Mar 8, 10:29 am)
Re: [RFC][PATCH] ns: Syscalls for better namespace sharing ..., Eric W. Biederman, (Mon Mar 8, 10:35 am)