Commit 5673a94c authored by Eric W. Biederman's avatar Eric W. Biederman

userns: Add a Kconfig option to enforce strict kuid and kgid type checks

Make it possible to easily switch between strong mandatory
type checks and relaxed type checks so that the code can
easily be tested with the type checks and then built
with the strong type checks disabled so the resulting
code can be used.

Require strong mandatory type checks when enabling the user namespace.
It is very simple to make a typo and use the wrong type allowing
conversions to/from userspace values to be bypassed by accident,
the strong type checks prevent this.
Acked-by: default avatarSerge Hallyn <serge.hallyn@canonical.com>
Signed-off-by: default avatarEric W. Biederman <ebiederm@xmission.com>
parent 7a4e7408
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
struct user_namespace; struct user_namespace;
extern struct user_namespace init_user_ns; extern struct user_namespace init_user_ns;
#if defined(NOTYET) #ifdef CONFIG_UIDGID_STRICT_TYPE_CHECKS
typedef struct { typedef struct {
uid_t val; uid_t val;
......
...@@ -828,7 +828,8 @@ config IPC_NS ...@@ -828,7 +828,8 @@ config IPC_NS
config USER_NS config USER_NS
bool "User namespace (EXPERIMENTAL)" bool "User namespace (EXPERIMENTAL)"
depends on EXPERIMENTAL depends on EXPERIMENTAL
default y select UIDGID_STRICT_TYPE_CHECKS
default n
help help
This allows containers, i.e. vservers, to use user namespaces This allows containers, i.e. vservers, to use user namespaces
to provide different user info for different servers. to provide different user info for different servers.
...@@ -852,6 +853,15 @@ config NET_NS ...@@ -852,6 +853,15 @@ config NET_NS
endif # NAMESPACES endif # NAMESPACES
config UIDGID_STRICT_TYPE_CHECKS
bool "Require conversions between uid/gids and their internal representation"
default n
help
While the nececessary conversions are being added to all subsystems this option allows
the code to continue to build for unconverted subsystems.
Say Y here if you want the strict type checking enabled
config SCHED_AUTOGROUP config SCHED_AUTOGROUP
bool "Automatic process group scheduling" bool "Automatic process group scheduling"
select EVENTFD select EVENTFD
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment