Skip resetting the stack protector on eng builds

This CL will cause the Zygote to skip re-initialization of the stack
protector cookie on Eng builds.  This will prevent interpreter functions
that would not normally appear on the critical call path from causing
stack check failures.

Bug: 265760793
Test:  m libandroid_runtime (to ensure correct branch of pre-processor
conditional is taken)

Change-Id: I7ec7ac5a2230d1078c818013ae90f3d2597734a3
This commit is contained in:
Chris Wailes
2023-01-30 11:36:59 -08:00
parent e39d3e9347
commit ffd57d7a41
2 changed files with 7 additions and 1 deletions

View File

@@ -40,6 +40,12 @@ cc_library_shared {
cppflags: ["-Wno-conversion-null"],
product_variables: {
eng: {
cflags: ["-DNO_RESET_STACK_PROTECTOR"],
},
},
cpp_std: "gnu++20",
srcs: [

View File

@@ -2296,7 +2296,7 @@ pid_t zygote::ForkCommon(JNIEnv* env, bool is_system_server,
setpriority(PRIO_PROCESS, 0, PROCESS_PRIORITY_MIN);
}
#if defined(__BIONIC__)
#if defined(__BIONIC__) && !defined(NO_RESET_STACK_PROTECTOR)
// Reset the stack guard for the new process.
android_reset_stack_guards();
#endif