Messages in this thread | | | Date | Tue, 8 Nov 2011 16:22:16 -0800 | From | Andrew Morton <> | Subject | Re: [PATCH 1/6] user namespace: make signal.c respect user namespaces (v4) |
| |
On Fri, 4 Nov 2011 22:24:37 +0000 Serge Hallyn <serge@hallyn.com> wrote:
> +static inline void fixup_uid(struct siginfo *info, struct task_struct *t) > +{ > +#ifdef CONFIG_USER_NS > + if (current_user_ns() == task_cred_xxx(t, user_ns)) > +#endif > + return; > + > + if (SI_FROMKERNEL(info)) > + return; > + > + info->si_uid = user_ns_map_uid(task_cred_xxx(t, user_ns), > + current_cred(), info->si_uid); > +}
err, this function is a no-op if CONFIG_USER_NS=n. If that was intentional then why on earth do this in such a weird fashion? If unintentional then it makes me wonder how well tested all this was with CONFIG_USER_NS=n?
I vaguely remember that I've forgotten how all this stuff works. Some additional review input would be nice (cough-oleg-cough).
| |