kernel: make su without any capabilities possible
This commit is contained in:
@@ -123,8 +123,11 @@ void escape_to_root(void)
|
|||||||
BUILD_BUG_ON(sizeof(profile->capabilities.effective) !=
|
BUILD_BUG_ON(sizeof(profile->capabilities.effective) !=
|
||||||
sizeof(kernel_cap_t));
|
sizeof(kernel_cap_t));
|
||||||
|
|
||||||
// capabilities
|
// setup capabilities
|
||||||
memcpy(&cred->cap_effective, &profile->capabilities.effective,
|
// we need CAP_DAC_READ_SEARCH becuase `/data/adb/ksud` is not accessible for non root process
|
||||||
|
// we add it here but don't add it to cap_inhertiable, it would be dropped automaticly after exec!
|
||||||
|
u64 cap_for_ksud = profile->capabilities.effective | CAP_DAC_READ_SEARCH;
|
||||||
|
memcpy(&cred->cap_effective, &cap_for_ksud,
|
||||||
sizeof(cred->cap_effective));
|
sizeof(cred->cap_effective));
|
||||||
memcpy(&cred->cap_inheritable, &profile->capabilities.effective,
|
memcpy(&cred->cap_inheritable, &profile->capabilities.effective,
|
||||||
sizeof(cred->cap_inheritable));
|
sizeof(cred->cap_inheritable));
|
||||||
|
|||||||
Reference in New Issue
Block a user