only set 'bpf.progs_loaded' property on eBPF capable devices... am: 567dc56b57
Original change: https://android-review.googlesource.com/c/platform/system/bpf/+/1335517
Change-Id: I267b60fcaf00b4a3393085d8a18536ffc56215ed
diff --git a/bpfloader/BpfLoader.cpp b/bpfloader/BpfLoader.cpp
index 5390fb4..9e348e5 100644
--- a/bpfloader/BpfLoader.cpp
+++ b/bpfloader/BpfLoader.cpp
@@ -72,10 +72,10 @@
}
int main() {
- if (android::bpf::isBpfSupported()) {
- // Load all ELF objects, create programs and maps, and pin them
- loadAllElfObjects();
- }
+ if (!android::bpf::isBpfSupported()) return 0;
+
+ // Load all ELF objects, create programs and maps, and pin them
+ loadAllElfObjects();
if (android::base::SetProperty("bpf.progs_loaded", "1") == false) {
ALOGE("Failed to set bpf.progs_loaded property\n");
diff --git a/libbpf_android/Loader.cpp b/libbpf_android/Loader.cpp
index f808dc6..4244eb7 100644
--- a/libbpf_android/Loader.cpp
+++ b/libbpf_android/Loader.cpp
@@ -650,6 +650,8 @@
}
void waitForProgsLoaded() {
+ if (!android::bpf::isBpfSupported()) return;
+
while (!android::base::WaitForProperty("bpf.progs_loaded", "1", std::chrono::seconds(5))) {
ALOGW("Waited 5s for bpf.progs_loaded, still waiting...");
}