diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-06-24 02:27:08 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-06-24 02:27:08 +0000 |
commit | 82eed90a2022982e229171fd3949554c02478d41 (patch) | |
tree | 612e8d224624a5121f3358d69267f003b14e7919 | |
parent | 4153bbe8687b3937899877fcf077384555f41197 (diff) | |
parent | 490a53e6f75e66ec87fdf5d1948c3eb6dc27c7ef (diff) | |
download | bpf-android13-s2-release.tar.gz |
Merge cherrypicks of [19048272] into tm-release.android-vts-13.0_r8android-vts-13.0_r7android-vts-13.0_r6android-vts-13.0_r5android-vts-13.0_r4android-vts-13.0_r3android-vts-13.0_r2android-vts-13.0_r1android-security-13.0.0_r9android-security-13.0.0_r8android-security-13.0.0_r7android-security-13.0.0_r6android-security-13.0.0_r5android-security-13.0.0_r4android-security-13.0.0_r3android-security-13.0.0_r2android-security-13.0.0_r18android-security-13.0.0_r17android-security-13.0.0_r16android-security-13.0.0_r15android-security-13.0.0_r14android-security-13.0.0_r13android-security-13.0.0_r12android-security-13.0.0_r11android-security-13.0.0_r10android-security-13.0.0_r1android-platform-13.0.0_r2android-platform-13.0.0_r1android-cts-13.0_r8android-cts-13.0_r7android-cts-13.0_r6android-cts-13.0_r5android-cts-13.0_r4android-cts-13.0_r3android-cts-13.0_r2android-cts-13.0_r1android-13.0.0_r8android-13.0.0_r7android-13.0.0_r6android-13.0.0_r5android-13.0.0_r4android-13.0.0_r31android-13.0.0_r3android-13.0.0_r2android-13.0.0_r12android-13.0.0_r1android13-tests-releaseandroid13-security-releaseandroid13-s3-releaseandroid13-s2-releaseandroid13-s1-releaseandroid13-release
Change-Id: I5a85c6b087465b678bea7c2564383150b012e983
-rw-r--r-- | libbpf_android/Loader.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/libbpf_android/Loader.cpp b/libbpf_android/Loader.cpp index 47cf4c9..1c462dd 100644 --- a/libbpf_android/Loader.cpp +++ b/libbpf_android/Loader.cpp @@ -724,13 +724,16 @@ static int createMaps(const char* elfPath, ifstream& elfFile, vector<unique_fd>& ret = getSectionSymNames(elfFile, "maps", mapNames); if (ret) return ret; + unsigned btfMinBpfLoaderVer = readSectionUint("btf_min_bpfloader_ver", elfFile, 0); + unsigned btfMinKernelVer = readSectionUint("btf_min_kernel_ver", elfFile, 0); + unsigned kvers = kernelVersion(); + std::optional<unique_fd> btfFd; - if (!readSectionByName(".BTF", elfFile, btfData)) { + if ((BPFLOADER_VERSION >= btfMinBpfLoaderVer) && (kvers >= btfMinKernelVer) && + (!readSectionByName(".BTF", elfFile, btfData))) { btfFd = getMapBtfInfo(elfPath, btfTypeIdMap); } - unsigned kvers = kernelVersion(); - for (int i = 0; i < (int)mapNames.size(); i++) { if (BPFLOADER_VERSION < md[i].bpfloader_min_ver) { ALOGI("skipping map %s which requires bpfloader min ver 0x%05x", mapNames[i].c_str(), |