support android-16.0.0_r2

This commit is contained in:
Ziyang Zhou
2025-09-07 21:48:56 +08:00
parent 6bd995c1d8
commit b5bef4a5e6
22 changed files with 23387 additions and 0 deletions

View File

@@ -0,0 +1,58 @@
From 2650f80257f4c2eb73ab1b81e7c0eea23bb1c02a Mon Sep 17 00:00:00 2001
From: Ziyang Zhou <ziyang.zhou@outlook.com>
Date: Thu, 5 Oct 2023 22:18:09 +0800
Subject: [PATCH 1/2] fix booting
---
bpf/loader/NetBpfLoad.cpp | 8 ++++++--
.../com_android_server_connectivity_ClatCoordinator.cpp | 1 +
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/bpf/loader/NetBpfLoad.cpp b/bpf/loader/NetBpfLoad.cpp
index bdc2e8c..1527b99 100644
--- a/bpf/loader/NetBpfLoad.cpp
+++ b/bpf/loader/NetBpfLoad.cpp
@@ -1865,12 +1865,14 @@ static int doLoad(char** argv, char * const envp[]) {
// kernel does not have CONFIG_BPF_JIT=y)
// BPF_JIT is required by R VINTF (which means 4.14/4.19/5.4 kernels),
// but 4.14/4.19 were released with P & Q, and only 5.4 is new in R+.
- if (writeProcSysFile("/proc/sys/net/core/bpf_jit_enable", "1\n")) return 1;
+ if (writeProcSysFile("/proc/sys/net/core/bpf_jit_enable", "1\n"))
+ ALOGE("write 1 to /proc/sys/net/core/bpf_jit_enable FAILED");
// Enable JIT kallsyms export for privileged users only
// (Note: this (open) will fail with ENOENT 'No such file or directory' if
// kernel does not have CONFIG_HAVE_EBPF_JIT=y)
- if (writeProcSysFile("/proc/sys/net/core/bpf_jit_kallsyms", "1\n")) return 1;
+ if (writeProcSysFile("/proc/sys/net/core/bpf_jit_kallsyms", "1\n"))
+ ALOGE("write 1 to /proc/sys/net/core/bpf_jit_kallsyms FAILED");
}
// Create all the pin subdirectories
@@ -1899,9 +1901,11 @@ static int doLoad(char** argv, char * const envp[]) {
ALOGE("If this triggers reliably, you're probably missing kernel options or patches.");
ALOGE("If this triggers randomly, you might be hitting some memory allocation "
"problems or startup script race.");
+ #if 0 // HACKED
ALOGE("--- DO NOT EXPECT SYSTEM TO BOOT SUCCESSFULLY ---");
sleep(20);
return 2;
+ #endif
}
}
diff --git a/service/jni/com_android_server_connectivity_ClatCoordinator.cpp b/service/jni/com_android_server_connectivity_ClatCoordinator.cpp
index 622fba8..fcb7fa0 100644
--- a/service/jni/com_android_server_connectivity_ClatCoordinator.cpp
+++ b/service/jni/com_android_server_connectivity_ClatCoordinator.cpp
@@ -132,6 +132,7 @@ static void verifyClatPerms() {
#undef V2
+ fatal = false;
if (fatal) abort();
}
--
2.49.0

View File

@@ -0,0 +1,24 @@
From ba7f80bea4177bc442cd9ccf0e9456de1cda32f1 Mon Sep 17 00:00:00 2001
From: Ziyang Zhou <ziyang.zhou@outlook.com>
Date: Thu, 5 Sep 2024 19:11:19 +0800
Subject: [PATCH 2/2] ignore nativeSynchronizeKernelRCU error
---
.../native/bpfmapjni/com_android_net_module_util_BpfMap.cpp | 1 -
1 file changed, 1 deletion(-)
diff --git a/staticlibs/native/bpfmapjni/com_android_net_module_util_BpfMap.cpp b/staticlibs/native/bpfmapjni/com_android_net_module_util_BpfMap.cpp
index d862f6b..8f5ecdf 100644
--- a/staticlibs/native/bpfmapjni/com_android_net_module_util_BpfMap.cpp
+++ b/staticlibs/native/bpfmapjni/com_android_net_module_util_BpfMap.cpp
@@ -140,7 +140,6 @@ static void com_android_net_module_util_BpfMap_nativeSynchronizeKernelRCU(JNIEnv
const int pfSocket = socket(AF_KEY, SOCK_RAW | SOCK_CLOEXEC, PF_KEY_V2);
if (pfSocket < 0) {
- jniThrowErrnoException(env, "nativeSynchronizeKernelRCU:socket", errno);
return;
}
--
2.49.0