Re: [PATCH 1/6] user namespace: make signal.c respect usernamespaces (v4)

From: Andrew Morton
Date: Tue Nov 08 2011 - 19:22:23 EST


On Fri, 4 Nov 2011 22:24:37 +0000
Serge Hallyn <serge@xxxxxxxxxx> 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).

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/