am af40649e: Merge "Set NO_NEW_PRIVS on zygote init"
* commit 'af40649e4ad506e312b53518cd2b9f2b58dee3ba': Set NO_NEW_PRIVS on zygote init
This commit is contained in:
@@ -19,6 +19,7 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
#include <sys/prctl.h>
|
||||||
|
|
||||||
namespace android {
|
namespace android {
|
||||||
|
|
||||||
@@ -146,6 +147,15 @@ static const char ZYGOTE_NICE_NAME[] = "zygote";
|
|||||||
|
|
||||||
int main(int argc, char* const argv[])
|
int main(int argc, char* const argv[])
|
||||||
{
|
{
|
||||||
|
if (prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0) < 0) {
|
||||||
|
// Older kernels don't understand PR_SET_NO_NEW_PRIVS and return
|
||||||
|
// EINVAL. Don't die on such kernels.
|
||||||
|
if (errno != EINVAL) {
|
||||||
|
LOG_ALWAYS_FATAL("PR_SET_NO_NEW_PRIVS failed: %s", strerror(errno));
|
||||||
|
return 12;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
AppRuntime runtime(argv[0], computeArgBlockSize(argc, argv));
|
AppRuntime runtime(argv[0], computeArgBlockSize(argc, argv));
|
||||||
// Process command line arguments
|
// Process command line arguments
|
||||||
// ignore argv[0]
|
// ignore argv[0]
|
||||||
|
|||||||
Reference in New Issue
Block a user