/aosp12/build/soong/bpf/ |
H A D | bpf.go | 15 package bpf package 65 type bpf struct { struct 73 func (bpf *bpf) GenerateAndroidBuildActions(ctx android.ModuleContext) { 96 cflags = append(cflags, bpf.properties.Cflags...) 113 bpf.objs = append(bpf.objs, obj.WithoutRel()) 117 func (bpf *bpf) AndroidMk() android.AndroidMkData { 124 for _, obj := range bpf.objs { 148 func (bpf *bpf) OutputFiles(tag string) (android.Paths, error) { 151 return bpf.objs, nil 157 var _ android.OutputFileProducer = (*bpf)(nil) [all …]
|
H A D | Android.bp | 22 name: "soong-bpf", 23 pkgPath: "android/soong/bpf", 32 "bpf.go",
|
/aosp12/system/sepolicy/prebuilts/api/28.0/private/ |
H A D | bpfloader.te | 1 # bpf program loader 6 # Process need CAP_NET_ADMIN to run bpf programs as cgroup filter 11 # These permission is required for pin bpf program for netd. 18 # Use pinned bpf map files from netd. 19 allow bpfloader netd:bpf { map_read map_write }; 20 allow bpfloader self:bpf { prog_load prog_run }; 23 neverallow { domain -bpfloader } *:bpf prog_load; 24 neverallow { domain -bpfloader -netd -netutils_wrapper} *:bpf prog_run; 27 # only system_server, netd and bpfloader can read/write the bpf maps 28 neverallow { domain -system_server -netd -bpfloader} netd:bpf { map_read map_write };
|
/aosp12/frameworks/libs/net/common/native/bpf_syscall_wrappers/include/ |
H A D | BpfSyscallWrappers.h | 34 namespace bpf { 41 inline int bpf(int cmd, const bpf_attr& attr) { in bpf() function 47 return bpf(BPF_MAP_CREATE, { in createMap() 58 return bpf(BPF_MAP_UPDATE_ELEM, { in writeToMapEntry() 67 return bpf(BPF_MAP_LOOKUP_ELEM, { in findMapEntry() 75 return bpf(BPF_MAP_DELETE_ELEM, { in deleteMapEntry() 82 return bpf(BPF_MAP_GET_NEXT_KEY, { in getNextMapKey() 94 return bpf(BPF_OBJ_PIN, { in bpfFdPin() 101 return bpf(BPF_OBJ_GET, { in bpfFdGet() 129 return bpf(BPF_PROG_ATTACH, { in attachProgram() [all …]
|
/aosp12/bionic/libc/tools/ |
H A D | test_genseccomp.py | 28 bpf = genseccomp.convert_to_intermediate_bpf(ranges) 29 self.assertEqual(bpf, ['BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 3, {fail}, {allow}), //a|b']) 32 bpf = genseccomp.convert_to_intermediate_bpf(ranges) 33 self.assertEqual(bpf, ['BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 3, 1, 0),', 39 bpf = genseccomp.convert_ranges_to_bpf(ranges, priority_syscalls=[]) 40 self.assertEqual(bpf, ['BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 1, 0, 2),', 45 bpf = genseccomp.convert_ranges_to_bpf(ranges, priority_syscalls=[]) 46 self.assertEqual(bpf, ['BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 1, 0, 4),',
|
H A D | genseccomp.py | 180 bpf = convert_priority_to_intermediate_bpf(priority_syscalls) + \ 185 for i, statement in enumerate(bpf): 192 bpf[i] = statement.format(fail=str(len(bpf) - i), 193 allow=str(len(bpf) - i - 1)) 198 bpf.append(BPF_ALLOW + ",") 201 bpf.insert(0, BPF_JGE.format(ranges[0].begin, 0, str(len(bpf))) + ',') 202 return bpf 205 def convert_bpf_to_output(bpf, architecture, name_modifier): argument 227 return header + "\n".join(bpf) + footer 234 bpf = convert_ranges_to_bpf(ranges, priority_syscalls) [all …]
|
/aosp12/system/sepolicy/prebuilts/api/29.0/private/ |
H A D | bpfloader.te | 1 # bpf program loader 6 # These permission is required for pin bpf program for netd. 11 # Allow bpfloader to create bpf maps and programs. The map_read and map_write permission is needed 13 allow bpfloader self:bpf { prog_load prog_run map_read map_write map_create }; 20 neverallow { domain -bpfloader } *:bpf { map_create prog_load }; 21 neverallow { domain -bpfloader -netd -netutils_wrapper } *:bpf prog_run; 24 # only system_server, netd and bpfloader can read/write the bpf maps 25 neverallow { domain -system_server -netd -bpfloader} *:bpf { map_read map_write };
|
/aosp12/system/bpf/libbpf_android/include/bpf/ |
H A D | BpfUtils.h | 30 namespace bpf { 50 if (android::bpf::isAtLeastKernelVersion(4, 9, 0)) { \ 58 if (!android::bpf::isAtLeastKernelVersion(4, 9, 0)) { \ 66 if (!android::bpf::isAtLeastKernelVersion(4, 14, 0)) { \ 75 if (!android::bpf::isAtLeastKernelVersion(5, 9, 0)) { \
|
/aosp12/system/sepolicy/prebuilts/api/30.0/private/ |
H A D | bpfloader.te | 1 # bpf program loader 10 # Allow bpfloader to create bpf maps and programs. 11 allow bpfloader self:bpf { map_create map_read map_write prog_load prog_run }; 29 neverallow { domain -bpfloader } *:bpf { map_create prog_load }; 30 neverallow { domain -bpfloader -netd -netutils_wrapper -system_server } *:bpf prog_run; 31 neverallow { domain -bpfloader -netd -system_server } *:bpf { map_read map_write };
|
/aosp12/system/sepolicy/prebuilts/api/31.0/private/ |
H A D | bpfloader.te | 1 # bpf program loader 11 # Allow bpfloader to create bpf maps and programs. 12 allow bpfloader self:bpf { map_create map_read map_write prog_load prog_run }; 34 neverallow { domain -bpfloader } *:bpf { map_create prog_load }; 35 …main -bpfloader -gpuservice -netd -netutils_wrapper -network_stack -system_server } *:bpf prog_run; 36 neverallow { domain -bpfloader -gpuservice -lmkd -netd -network_stack -system_server } *:bpf { map_…
|
H A D | gpuservice.te | 48 # Needed for reading tracepoint ids in order to attach bpf programs. 53 # Needed for interact with bpf fs. 57 # Needed for enable the bpf program and read the map. 58 allow gpuservice bpfloader:bpf { map_read prog_run }; 60 # Needed for getting a prop to ensure bpf programs loaded.
|
/aosp12/system/sepolicy/prebuilts/api/32.0/private/ |
H A D | bpfloader.te | 1 # bpf program loader 11 # Allow bpfloader to create bpf maps and programs. 12 allow bpfloader self:bpf { map_create map_read map_write prog_load prog_run }; 34 neverallow { domain -bpfloader } *:bpf { map_create prog_load }; 35 …main -bpfloader -gpuservice -netd -netutils_wrapper -network_stack -system_server } *:bpf prog_run; 36 neverallow { domain -bpfloader -gpuservice -lmkd -netd -network_stack -system_server } *:bpf { map_…
|
H A D | gpuservice.te | 48 # Needed for reading tracepoint ids in order to attach bpf programs. 53 # Needed for interact with bpf fs. 57 # Needed for enable the bpf program and read the map. 58 allow gpuservice bpfloader:bpf { map_read prog_run }; 60 # Needed for getting a prop to ensure bpf programs loaded.
|
/aosp12/system/sepolicy/private/ |
H A D | bpfloader.te | 1 # bpf program loader 11 # Allow bpfloader to create bpf maps and programs. 12 allow bpfloader self:bpf { map_create map_read map_write prog_load prog_run }; 34 neverallow { domain -bpfloader } *:bpf { map_create prog_load }; 35 …main -bpfloader -gpuservice -netd -netutils_wrapper -network_stack -system_server } *:bpf prog_run; 36 neverallow { domain -bpfloader -gpuservice -lmkd -netd -network_stack -system_server } *:bpf { map_…
|
H A D | gpuservice.te | 48 # Needed for reading tracepoint ids in order to attach bpf programs. 53 # Needed for interact with bpf fs. 57 # Needed for enable the bpf program and read the map. 58 allow gpuservice bpfloader:bpf { map_read prog_run }; 60 # Needed for getting a prop to ensure bpf programs loaded.
|
/aosp12/packages/modules/Connectivity/Tethering/jni/ |
H A D | com_android_networkstack_tethering_BpfMap.cpp | 72 jint fd = bpf::bpfFdGet(pathname.c_str(), static_cast<unsigned>(mode)); in com_android_networkstack_tethering_BpfMap_bpfFdGet() 82 int ret = bpf::writeToMapEntry(static_cast<int>(fd), keyRO.get(), valueRO.get(), in com_android_networkstack_tethering_BpfMap_writeToMapEntry() 101 int ret = bpf::deleteMapEntry(static_cast<int>(fd), keyRO.get()); in com_android_networkstack_tethering_BpfMap_deleteMapEntry() 116 ret = bpf::getNextMapKey(static_cast<int>(fd), nullptr, nextKeyRW.get()); in com_android_networkstack_tethering_BpfMap_getNextMapKey() 119 ret = bpf::getNextMapKey(static_cast<int>(fd), keyRO.get(), nextKeyRW.get()); in com_android_networkstack_tethering_BpfMap_getNextMapKey() 132 int ret = bpf::findMapEntry(static_cast<int>(fd), keyRO.get(), valueRW.get()); in com_android_networkstack_tethering_BpfMap_findMapEntry()
|
/aosp12/frameworks/base/core/jni/ |
H A D | com_android_internal_os_KernelCpuBpfTracking.cpp | 24 return android::bpf::isTrackingUidTimesSupported() ? JNI_TRUE : JNI_FALSE; in KernelCpuBpfTracking_isSupported() 28 return android::bpf::startTrackingUidTimes(); in KernelCpuBpfTracking_startTrackingInternal() 32 auto freqs = android::bpf::getCpuFreqs(); in KernelCpuBpfTracking_getFreqsInternal() 47 auto freqs = android::bpf::getCpuFreqs(); in KernelCpuBpfTracking_getFreqsClustersInternal()
|
H A D | com_android_internal_os_KernelCpuUidBpfMapReader.cpp | 59 if (!android::bpf::clearUidTimes(uid)) return false; in KernelCpuUidFreqTimeBpfMapReader_removeUidRange() 69 auto data = android::bpf::getUidsUpdatedCpuFreqTimes(&newLastUpdate); in KernelCpuUidFreqTimeBpfMapReader_readBpfData() 95 auto data = android::bpf::getUidsUpdatedConcurrentTimes(&newLastUpdate); in KernelCpuUidActiveTimeBpfMapReader_readBpfData() 128 auto data = android::bpf::getUidsUpdatedConcurrentTimes(&newLastUpdate); in KernelCpuUidClusterTimeBpfMapReader_readBpfData() 145 auto times = android::bpf::getUidConcurrentTimes(0); in KernelCpuUidClusterTimeBpfMapReader_getDataDimensions()
|
/aosp12/system/netd/server/ |
H A D | OffloadUtils.h | 51 const int fd = bpf::mapRetrieveRW(CLAT_EGRESS4_MAP_PATH); in getClatEgress4MapFd() 56 const int fd = bpf::retrieveProgram(with_ethernet_header ? CLAT_EGRESS4_PROG_ETHER_PATH in getClatEgress4ProgFd() 62 const int fd = bpf::mapRetrieveRW(CLAT_INGRESS6_MAP_PATH); in getClatIngress6MapFd() 67 const int fd = bpf::retrieveProgram(with_ethernet_header ? CLAT_INGRESS6_PROG_ETHER_PATH in getClatIngress6ProgFd()
|
/aosp12/packages/modules/NetworkStack/tests/unit/jni/ |
H A D | apf_jni.cpp | 105 bpf_program bpf; in com_android_server_ApfTest_compileToBpf() local 106 if (pcap_compile(pcap.get(), &bpf, filter.c_str(), 0, PCAP_NETMASK_UNKNOWN)) { in com_android_server_ApfTest_compileToBpf() 112 const struct bpf_insn* insn = bpf.bf_insns; in com_android_server_ApfTest_compileToBpf() 113 for (uint32_t i = 0; i < bpf.bf_len; i++) { in com_android_server_ApfTest_compileToBpf() 145 bpf_program bpf; in com_android_server_ApfTest_compareBpfApf() local 146 if (pcap_compile(bpf_pcap.get(), &bpf, filter.c_str(), 0, PCAP_NETMASK_UNKNOWN)) { in com_android_server_ApfTest_compareBpfApf() 152 if (pcap_setfilter(bpf_pcap.get(), &bpf)) { in com_android_server_ApfTest_compareBpfApf()
|
/aosp12/system/bpf/libbpf_android/ |
H A D | BpfLoadTest.cpp | 33 namespace bpf { namespace 45 EXPECT_EQ(android::bpf::loadProg("/system/etc/bpf/bpf_load_tp_prog.o", &critical), 0); in SetUp() 64 android::bpf::BpfMap<uint32_t, uint32_t> m(tp_map_path); in checkMapNonZero()
|
/aosp12/frameworks/native/services/gpuservice/gpumem/ |
H A D | GpuMem.cpp | 44 bpf::waitForProgsLoaded(); in initialize() 47 int fd = bpf::retrieveProgram(kGpuMemTotalProgPath); in initialize() 69 auto map = bpf::BpfMapRO<uint64_t, uint64_t>(kGpuMemTotalMapPath); in initialize() 80 void GpuMem::setGpuMemTotalMap(bpf::BpfMap<uint64_t, uint64_t>& map) { in setGpuMemTotalMap()
|
/aosp12/packages/modules/Connectivity/Tethering/bpf_progs/ |
H A D | Android.bp | 42 // bpf kernel programs 44 bpf { 53 bpf {
|
/aosp12/system/netd/bpf_progs/ |
H A D | Android.bp | 32 // bpf kernel programs 34 bpf { 47 bpf {
|
/aosp12/system/bpf/bpfloader/ |
H A D | bpfloader.rc | 4 # will just block until bpfloader finishes and sets the bpf.progs_loaded property. 7 # - /sys/fs/bpf is already mounted, 8 # - apex (incl. rollback) is initialized (so that in the future we can load bpf 51 # capability is not even checked by the kernel's bpf system call. 58 # we're not really updatable, but want to be able to load bpf programs shipped in apexes
|