summaryrefslogtreecommitdiff
path: root/bpfloader
diff options
context:
space:
mode:
authorSagarMakhar <sagarmakhar@gmail.com>2021-07-10 16:49:30 +0000
committermosimchah <mosimchah@gmail.com>2022-06-04 15:05:01 -0400
commit5ba252304cf2b180b6aac06628b0fc6ff739186c (patch)
treebcab379d632aa55fbdec9ed8bf77c07f099dcdff /bpfloader
parent860fa57e5ad47e1be73061834e96b8331166bde1 (diff)
Ignore bpf errors for < 4.9 kernelsHEADs12.1
Change-Id: I037e4745d5bde12e6edd35203d3d3604ef1ec4c2 Signed-off-by: SagarMakhar <sagarmakhar@gmail.com> Signed-off-by: rajkale99 <kaleraj.rk@gmail.com>
Diffstat (limited to 'bpfloader')
-rw-r--r--bpfloader/BpfLoader.cpp27
1 files changed, 16 insertions, 11 deletions
diff --git a/bpfloader/BpfLoader.cpp b/bpfloader/BpfLoader.cpp
index 7a68894..788009e 100644
--- a/bpfloader/BpfLoader.cpp
+++ b/bpfloader/BpfLoader.cpp
@@ -112,17 +112,22 @@ void createSysFsBpfSubDir(const char* const prefix) {
}
int main() {
- // Load all ELF objects, create programs and maps, and pin them
- for (const auto location : locations) {
- createSysFsBpfSubDir(location.prefix);
- if (loadAllElfObjects(location.dir, location.prefix) != 0) {
- ALOGE("=== CRITICAL FAILURE LOADING BPF PROGRAMS FROM %s ===", location.dir);
- 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.");
- ALOGE("--- DO NOT EXPECT SYSTEM TO BOOT SUCCESSFULLY ---");
- sleep(20);
- return 2;
+ bool ebpf_supported = android::base::GetBoolProperty("ro.kernel.ebpf.supported", true);
+
+ if (ebpf_supported) {
+ // Load all ELF objects, create programs and maps, and pin them
+ for (const auto location : locations) {
+ createSysFsBpfSubDir(location.prefix);
+ if (loadAllElfObjects(location.dir, location.prefix) != 0) {
+ ALOGE("=== CRITICAL FAILURE LOADING BPF PROGRAMS FROM %s ===", location.dir);
+ 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.");
+ ALOGE("--- DO NOT EXPECT SYSTEM TO BOOT SUCCESSFULLY ---");
+ sleep(20);
+ return 2;
+ }
}
}