userns: userns: Remove UIDGID_STRICT_TYPE_CHECKS
Removing UIDGID_STRICT_TYPE_CHECKS simplifies the code and always generates a compile error if the uids and kuids or gids and kgids are mixed by accident. Now that the appropriate conversions have been placed throughout the kernel there is no longer a need for a mode where we don't detect them as compile errors. Acked-by: Serge Hallyn <serge.hallyn@canonical.com> Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
This commit is contained in:
Родитель
41301ae78a
Коммит
261000a56b
|
@ -39,9 +39,6 @@ struct posix_acl_entry {
|
|||
union {
|
||||
kuid_t e_uid;
|
||||
kgid_t e_gid;
|
||||
#ifndef CONFIG_UIDGID_STRICT_TYPE_CHECKS
|
||||
unsigned int e_id;
|
||||
#endif
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -18,8 +18,6 @@ extern struct user_namespace init_user_ns;
|
|||
|
||||
typedef __kernel_uid32_t projid_t;
|
||||
|
||||
#ifdef CONFIG_UIDGID_STRICT_TYPE_CHECKS
|
||||
|
||||
typedef struct {
|
||||
projid_t val;
|
||||
} kprojid_t;
|
||||
|
@ -31,19 +29,6 @@ static inline projid_t __kprojid_val(kprojid_t projid)
|
|||
|
||||
#define KPROJIDT_INIT(value) (kprojid_t){ value }
|
||||
|
||||
#else
|
||||
|
||||
typedef projid_t kprojid_t;
|
||||
|
||||
static inline projid_t __kprojid_val(kprojid_t projid)
|
||||
{
|
||||
return projid;
|
||||
}
|
||||
|
||||
#define KPROJIDT_INIT(value) ((kprojid_t) value )
|
||||
|
||||
#endif
|
||||
|
||||
#define INVALID_PROJID KPROJIDT_INIT(-1)
|
||||
#define OVERFLOW_PROJID 65534
|
||||
|
||||
|
|
|
@ -17,8 +17,6 @@
|
|||
struct user_namespace;
|
||||
extern struct user_namespace init_user_ns;
|
||||
|
||||
#ifdef CONFIG_UIDGID_STRICT_TYPE_CHECKS
|
||||
|
||||
typedef struct {
|
||||
uid_t val;
|
||||
} kuid_t;
|
||||
|
@ -41,26 +39,6 @@ static inline gid_t __kgid_val(kgid_t gid)
|
|||
return gid.val;
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
typedef uid_t kuid_t;
|
||||
typedef gid_t kgid_t;
|
||||
|
||||
static inline uid_t __kuid_val(kuid_t uid)
|
||||
{
|
||||
return uid;
|
||||
}
|
||||
|
||||
static inline gid_t __kgid_val(kgid_t gid)
|
||||
{
|
||||
return gid;
|
||||
}
|
||||
|
||||
#define KUIDT_INIT(value) ((kuid_t) value )
|
||||
#define KGIDT_INIT(value) ((kgid_t) value )
|
||||
|
||||
#endif
|
||||
|
||||
#define GLOBAL_ROOT_UID KUIDT_INIT(0)
|
||||
#define GLOBAL_ROOT_GID KGIDT_INIT(0)
|
||||
|
||||
|
|
11
init/Kconfig
11
init/Kconfig
|
@ -1110,8 +1110,6 @@ config IPC_NS
|
|||
|
||||
config USER_NS
|
||||
bool "User namespace"
|
||||
select UIDGID_STRICT_TYPE_CHECKS
|
||||
|
||||
default n
|
||||
help
|
||||
This allows containers, i.e. vservers, to use user namespaces
|
||||
|
@ -1143,15 +1141,6 @@ config NET_NS
|
|||
|
||||
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
|
||||
bool "Automatic process group scheduling"
|
||||
select EVENTFD
|
||||
|
|
Загрузка…
Ссылка в новой задаче