Loading init/init.cpp +15 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ #include <sys/mount.h> #include <sys/signalfd.h> #include <sys/types.h> #include <sys/utsname.h> #include <unistd.h> #define _REALLY_INCLUDE_SYS__SYSTEM_PROPERTIES_H_ Loading Loading @@ -554,6 +555,19 @@ static void SetUsbController() { } } /// Set ro.kernel.version property to contain the major.minor pair as returned /// by uname(2). static void SetKernelVersion() { struct utsname uts; unsigned int major, minor; if ((uname(&uts) != 0) || (sscanf(uts.release, "%u.%u", &major, &minor) != 2)) { LOG(ERROR) << "Could not parse the kernel version from uname"; return; } SetProperty("ro.kernel.version", android::base::StringPrintf("%u.%u", major, minor)); } static void HandleSigtermSignal(const signalfd_siginfo& siginfo) { if (siginfo.ssi_pid != 0) { // Drop any userspace SIGTERM requests. Loading Loading @@ -824,6 +838,7 @@ int SecondStageMain(int argc, char** argv) { export_oem_lock_status(); MountHandler mount_handler(&epoll); SetUsbController(); SetKernelVersion(); const BuiltinFunctionMap& function_map = GetBuiltinFunctionMap(); Action::set_function_map(&function_map); Loading rootdir/init.rc +15 −1 Original line number Diff line number Diff line Loading @@ -590,9 +590,23 @@ on late-fs # Load trusted keys from dm-verity protected partitions exec -- /system/bin/fsverity_init --load-verified-keys # Only enable the bootreceiver tracing instance for kernels 5.10 and above. on late-fs && property:ro.kernel.version=4.9 setprop bootreceiver.enable 0 on late-fs && property:ro.kernel.version=4.14 setprop bootreceiver.enable 0 on late-fs && property:ro.kernel.version=4.19 setprop bootreceiver.enable 0 on late-fs && property:ro.kernel.version=5.4 setprop bootreceiver.enable 0 on late-fs # Bootreceiver tracing instance is enabled by default. setprop bootreceiver.enable ${bootreceiver.enable:-1} on property:ro.product.cpu.abilist64=* && property:bootreceiver.enable=1 # Set up a tracing instance for system_server to monitor error_report_end events. # These are sent by kernel tools like KASAN and KFENCE when a memory corruption # is detected. # is detected. This is only needed for 64-bit systems. mkdir /sys/kernel/tracing/instances/bootreceiver 0700 system system restorecon_recursive /sys/kernel/tracing/instances/bootreceiver write /sys/kernel/tracing/instances/bootreceiver/buffer_size_kb 1 Loading Loading
init/init.cpp +15 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ #include <sys/mount.h> #include <sys/signalfd.h> #include <sys/types.h> #include <sys/utsname.h> #include <unistd.h> #define _REALLY_INCLUDE_SYS__SYSTEM_PROPERTIES_H_ Loading Loading @@ -554,6 +555,19 @@ static void SetUsbController() { } } /// Set ro.kernel.version property to contain the major.minor pair as returned /// by uname(2). static void SetKernelVersion() { struct utsname uts; unsigned int major, minor; if ((uname(&uts) != 0) || (sscanf(uts.release, "%u.%u", &major, &minor) != 2)) { LOG(ERROR) << "Could not parse the kernel version from uname"; return; } SetProperty("ro.kernel.version", android::base::StringPrintf("%u.%u", major, minor)); } static void HandleSigtermSignal(const signalfd_siginfo& siginfo) { if (siginfo.ssi_pid != 0) { // Drop any userspace SIGTERM requests. Loading Loading @@ -824,6 +838,7 @@ int SecondStageMain(int argc, char** argv) { export_oem_lock_status(); MountHandler mount_handler(&epoll); SetUsbController(); SetKernelVersion(); const BuiltinFunctionMap& function_map = GetBuiltinFunctionMap(); Action::set_function_map(&function_map); Loading
rootdir/init.rc +15 −1 Original line number Diff line number Diff line Loading @@ -590,9 +590,23 @@ on late-fs # Load trusted keys from dm-verity protected partitions exec -- /system/bin/fsverity_init --load-verified-keys # Only enable the bootreceiver tracing instance for kernels 5.10 and above. on late-fs && property:ro.kernel.version=4.9 setprop bootreceiver.enable 0 on late-fs && property:ro.kernel.version=4.14 setprop bootreceiver.enable 0 on late-fs && property:ro.kernel.version=4.19 setprop bootreceiver.enable 0 on late-fs && property:ro.kernel.version=5.4 setprop bootreceiver.enable 0 on late-fs # Bootreceiver tracing instance is enabled by default. setprop bootreceiver.enable ${bootreceiver.enable:-1} on property:ro.product.cpu.abilist64=* && property:bootreceiver.enable=1 # Set up a tracing instance for system_server to monitor error_report_end events. # These are sent by kernel tools like KASAN and KFENCE when a memory corruption # is detected. # is detected. This is only needed for 64-bit systems. mkdir /sys/kernel/tracing/instances/bootreceiver 0700 system system restorecon_recursive /sys/kernel/tracing/instances/bootreceiver write /sys/kernel/tracing/instances/bootreceiver/buffer_size_kb 1 Loading