diff --git a/bpfloader/Android.bp b/bpfloader/Android.bp
index eea547d..9f92ce3 100644
--- a/bpfloader/Android.bp
+++ b/bpfloader/Android.bp
@@ -37,6 +37,7 @@
         "liblog",
         "libnetdbpf",
         "libnetdutils",
+        "libbpf",
     ],
     srcs: [
         "BpfLoader.cpp",
@@ -44,6 +45,8 @@
 
     required: [
         "bpf_kern.o",
+// Uncomment once security related patches ready
+//      "time_in_state.o",
     ],
 
 }
diff --git a/bpfloader/BpfLoader.cpp b/bpfloader/BpfLoader.cpp
index e173e67..a09af29 100644
--- a/bpfloader/BpfLoader.cpp
+++ b/bpfloader/BpfLoader.cpp
@@ -19,6 +19,7 @@
 #endif
 
 #include <arpa/inet.h>
+#include <dirent.h>
 #include <elf.h>
 #include <error.h>
 #include <fcntl.h>
@@ -38,19 +39,22 @@
 #include <sys/types.h>
 
 #include <android-base/stringprintf.h>
+#include <android-base/strings.h>
 #include <android-base/unique_fd.h>
+#include <libbpf_android.h>
 #include <log/log.h>
-
 #include <netdutils/Misc.h>
 #include <netdutils/Slice.h>
 #include "bpf/BpfUtils.h"
 #include "netdbpf/bpf_shared.h"
 
+using android::base::EndsWith;
 using android::base::unique_fd;
 using android::netdutils::Slice;
+using std::string;
 
-#define BPF_PROG_PATH "/system/etc/bpf"
-#define BPF_PROG_SRC BPF_PROG_PATH "/bpf_kern.o"
+#define BPF_PROG_PATH "/system/etc/bpf/"
+#define BPF_PROG_SRC BPF_PROG_PATH "bpf_kern.o"
 
 #define CLEANANDEXIT(ret, mapPatterns)                    \
     do {                                                  \
@@ -65,7 +69,28 @@
 using android::bpf::BpfMapInfo;
 using android::bpf::BpfProgInfo;
 
+void loadAllElfObjects(void) {
+    DIR* dir;
+    struct dirent* ent;
+
+    if ((dir = opendir(BPF_PROG_PATH)) != NULL) {
+        while ((ent = readdir(dir)) != NULL) {
+            string s = ent->d_name;
+            if (!EndsWith(s, ".o")) continue;
+
+            string progPath = BPF_PROG_PATH + s;
+
+            int ret = android::bpf::loadProg(progPath.c_str());
+            ALOGI("Attempted load object: %s, ret: %s", progPath.c_str(), std::strerror(-ret));
+        }
+        closedir(dir);
+    }
+}
+
 int main() {
+    // Load all ELF objects, create programs and maps, and pin them
+    loadAllElfObjects();
+
     const std::vector<BpfMapInfo> mapPatterns = {
         BpfMapInfo(COOKIE_TAG_MAP, COOKIE_TAG_MAP_PATH),
         BpfMapInfo(UID_COUNTERSET_MAP, UID_COUNTERSET_MAP_PATH),
