mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 03:01:39 -04:00
kernel: conditionally support non-root users, groups and capabilities
There are a lot of embedded systems that run most or all of their functionality in init, running as root:root. For these systems, supporting multiple users is not necessary. This patch adds a new symbol, CONFIG_MULTIUSER, that makes support for non-root users, non-root groups, and capabilities optional. It is enabled under CONFIG_EXPERT menu. When this symbol is not defined, UID and GID are zero in any possible case and processes always have all capabilities. The following syscalls are compiled out: setuid, setregid, setgid, setreuid, setresuid, getresuid, setresgid, getresgid, setgroups, getgroups, setfsuid, setfsgid, capget, capset. Also, groups.c is compiled out completely. In kernel/capability.c, capable function was moved in order to avoid adding two ifdef blocks. This change saves about 25 KB on a defconfig build. The most minimal kernels have total text sizes in the high hundreds of kB rather than low MB. (The 25k goes down a bit with allnoconfig, but not that much. The kernel was booted in Qemu. All the common functionalities work. Adding users/groups is not possible, failing with -ENOSYS. Bloat-o-meter output: add/remove: 7/87 grow/shrink: 19/397 up/down: 1675/-26325 (-24650) [[email protected]: coding-style fixes] Signed-off-by: Iulia Manda <[email protected]> Reviewed-by: Josh Triplett <[email protected]> Acked-by: Geert Uytterhoeven <[email protected]> Tested-by: Paul E. McKenney <[email protected]> Reviewed-by: Paul E. McKenney <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
c79574abe2
commit
2813893f8b
16 changed files with 126 additions and 26 deletions
|
|
@ -21,6 +21,7 @@ config SECURITY_DMESG_RESTRICT
|
|||
config SECURITY
|
||||
bool "Enable different security models"
|
||||
depends on SYSFS
|
||||
depends on MULTIUSER
|
||||
help
|
||||
This allows you to choose different security modules to be
|
||||
configured into your kernel.
|
||||
|
|
|
|||
Loading…
Reference in a new issue