[PATCH 1/6] user namespace: make signal.c respect user namespaces (v4)
Andrew Morton
akpm at linux-foundation.org
Wed Nov 9 00:22:16 UTC 2011
On Fri, 4 Nov 2011 22:24:37 +0000
Serge Hallyn <serge at 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).
More information about the Containers
mailing list