Commit graph

1,787 commits

Message SHA1
Update bpf helpers to support new ignore_on fields
This change updates callers to include the new ignore_on and bpfloader
arguments as per the change in aosp/2374598.

Bug: 246985031
Test: tethering build & install, full platform build & install
Change-Id: I4cebc82ed596cfb55c30325b30cff160da9514cd

Ryan Zuklie   commited 2023-01-05 17:57:24 -08:00
b41a3cfd4e
Actually skip programs based on ignore_on
Bug: 246985031
Test: flash aosp/2374785, check loaded progs via adb shell ls
Change-Id: I0f4ba45958e4d5805b69cf9e91759d58de390b0e

Ryan Zuklie   commited 2023-01-05 17:57:24 -08:00
0fb433a965
Merge "Add option to skip map/prog based on build type"
Maciej Żenczykowski   authored and   Gerrit Code Review   commited 2022-12-20 08:38:45 +00:00
4fba4f7a22
Add option to skip map/prog based on build type
This feature allows skipping a program or map based on the type of the
build. This allows things like userdebug-only programs.

Bug: 246985031
Test: added test program and watched it skipped on userdebug
Change-Id: I981e3447b40751926cbfd1692e13772ec582d3d4

Ryan Zuklie   commited 2022-12-19 14:39:31 -08:00
ce89f50035
bpfloader - fix includes
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I3c46875a34b744c9ff0af2b52b63ecbc9db5c15e

Maciej Żenczykowski   commited 2022-12-19 19:14:33 +00:00
300c51fd4f
Merge "bpfloader - allow writeProcSysFile failure on misconfigured kernels"
Treehugger Robot   authored and   Gerrit Code Review   commited 2022-12-14 09:36:57 +00:00
4a7ca6f2b1
Merge "include BpfSyscallWrappers.h"
Maciej Żenczykowski   authored and   Gerrit Code Review   commited 2022-12-14 08:55:43 +00:00
98ac2b9ffd
bpfloader - allow writeProcSysFile failure on misconfigured kernels
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I20c486ab89669c60cf1e1ebc3a5d66ef0efc1389

Maciej Żenczykowski   commited 2022-12-14 07:43:27 +00:00
8aa34a756c
bpfloader - add writeProcSysFile failure mode comment
as discovered on some sunfish 4.14 kernels

Note that CONFIG_BPF_JIT=y is required for 4.14-r,
but sunfish was 4.14-q and thus missed VINTF enforcement of this
(it was enabled for b1c1[blueline/crosshatch]/bonito & floral[flame/coral]).

Bug: 262115216
Test: N/A, comment only
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: If6ee9f7f9e449526602fd0e5cffd49f132e681a2

Maciej Żenczykowski   commited 2022-12-12 00:22:27 +00:00
052cda1973
include BpfSyscallWrappers.h
Change-Id: Ia0d6941cd461089584e539e007b1e8b2873d095f

Maciej Żenczykowski   commited 2022-12-10 17:59:05 +00:00
4e4dea008e
Merge "bpfloader: pass whole struct Location to loadProg()"
Maciej Żenczykowski   authored and   Gerrit Code Review   commited 2022-12-10 10:24:43 +00:00
b909fed62a
Merge "Add a test BPF program with a ring buffer."
Treehugger Robot   authored and   Gerrit Code Review   commited 2022-12-10 02:27:06 +00:00
a9b54078f4
bpfloader: pass whole struct Location to loadProg()
Simplify the loadProg() interface by passing struct Location instead
of passing its fields as separate arguments. Move struct Location into
libbpf_android.h to accommodate the change.

Change-Id: I39834b2645d38ba4c2eb5ea901a3da0f56a1912c
Signed-off-by: Connor O'Brien <connoro@google.com>

Connor O'Brien   commited 2022-12-09 15:07:37 -08:00
6c0ce9f17a
Merge "libbpf_android: remove native_bridge_supported from Android.bp"
Treehugger Robot   authored and   Gerrit Code Review   commited 2022-12-09 20:29:42 +00:00
bfd31a3c79
Merge "bpfloader - move sysctl setting from rc to binary"
Treehugger Robot   authored and   Gerrit Code Review   commited 2022-12-09 20:25:48 +00:00
2393f1df4d
Add a test BPF program with a ring buffer.
This adds an example BPF program with a ring buffer. The program using
the ring buffer is limited to kernel versions 5.8 and above (the same as
the ringbuffer internally). The program is marked critical to ensure
that the platform can support ringbuffers in the bpfloader.

This is only done for userdebug builds currently since tests that use it
can only be run in userdebug builds and statically allocates a 4KB ring
buffer.

Bug: 246985031
Test: build and flash on 4.19 and 5.10
Change-Id: I3cdb4a03051f832915bb784d43c01392c087f54c

Ryan Zuklie   commited 2022-12-09 11:02:46 -08:00
657482041f
BpfLoader - create /sys/fs/bpf/loader am: ebfacde967
Original change: https://android-review.googlesource.com/c/platform/system/bpf/+/2327675

Change-Id: I1d9bfee78db171f0a380e7917608b9d2989e63ce
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Maciej Żenczykowski   authored and   Automerger Merge Worker   commited 2022-12-09 09:51:49 +00:00
9836896064
bpfloader - move sysctl setting from rc to binary
this allows tightening the sepolicy for 'proc_bpf' in:
  https://android-review.git.corp.google.com/c/platform/system/sepolicy/+/2323635
  'sepolicy - move proc bpf writes from bpfloader.rc to bpfloader binary'

While we're at it, this also allows us to actually verify
that these sysctls are being successfully set.

Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ibde9d817b690395e3eb12f6b5acdf3060aca67b9

Maciej Żenczykowski   commited 2022-12-08 15:46:25 +00:00
03b6caadb6
BpfLoader - create /sys/fs/bpf/loader
we also take this opportunity to enforce that all the
directory creations actually succeed (there really
is no reason why that could fail though)

Test: TreeHugger, manually inspected /sys/fs/bpf contents on cuttlefish
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Icd7c1e6eba5736a58cf81476ddafc70df2807dd4

Maciej Żenczykowski   commited 2022-12-05 15:57:00 +00:00
ebfacde967
libbpf_android: remove native_bridge_supported from Android.bp
This is a holdover from when libmeminfo depended on libbpf_android, a
dependency which has since been removed. Deleting it allows
libbpf_android to use libvintf, which will be used to identify a
device's kernel branch for BPF attach point enforcement.

Test: build
Change-Id: I73747e04c2a843652859e4fb753bd5afdedba1cd
Signed-off-by: Connor O'Brien <connoro@google.com>

Connor O'Brien   authored and   Maciej Żenczykowski   commited 2022-12-03 12:16:31 +00:00
3141d5e2c0
Bpfloader - minimal fs_bpf_loader support am: 9a2093d38c
Original change: https://android-review.googlesource.com/c/platform/system/bpf/+/2323445

Change-Id: Ic29b62cabce205cceb8ee260ef0fa8e9ef7b5114
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Maciej Żenczykowski   authored and   Automerger Merge Worker   commited 2022-12-03 09:46:59 +00:00
c182b6a724
Bpfloader - minimal fs_bpf_loader support
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I8090de18b50a717f77d3fddab62a611888aa1521

Maciej Żenczykowski   commited 2022-12-02 13:51:25 +00:00
9a2093d38c
bpfloader - remove dead code am: 90a866ed34
Original change: https://android-review.googlesource.com/c/platform/system/bpf/+/2268766

Change-Id: I3a4938b083953bfbf43f6cdaa02cc6aa90db94f3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Maciej Żenczykowski   authored and   Automerger Merge Worker   commited 2022-10-25 22:35:21 +00:00
fade2c6e0e
bpfloader - remove dead code
As with Android U we know the kernel is at least 4.14

Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I789d5e8c9b0fe9e2200f716034d1ec1151f258dc

Maciej Żenczykowski   commited 2022-10-25 09:21:12 +00:00
90a866ed34
require a bpf program definition am: 5c79165bb2 am: 28a735510a am: 86f7c0b362 am: 11ba91e10c
Original change: https://android-review.googlesource.com/c/platform/system/bpf/+/2172788

Change-Id: I7469293105b361121f13989f5e307b9d3deb46fc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Maciej Żenczykowski   authored and   Automerger Merge Worker   commited 2022-08-08 19:09:29 +00:00
08e5ed863c
require a bpf program definition am: 5c79165bb2 am: 28a735510a am: 86f7c0b362
Original change: https://android-review.googlesource.com/c/platform/system/bpf/+/2172788

Change-Id: Idf61010c935933395e519782ee03f8ae7e06d7cc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Maciej Żenczykowski   authored and   Automerger Merge Worker   commited 2022-08-08 18:46:04 +00:00
11ba91e10c
require a bpf program definition am: 5c79165bb2 am: 28a735510a
Original change: https://android-review.googlesource.com/c/platform/system/bpf/+/2172788

Change-Id: I15b3c0b7e01a73b460969c495bcc9590fe08fa9d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Maciej Żenczykowski   authored and   Automerger Merge Worker   commited 2022-08-08 18:29:13 +00:00
86f7c0b362
require a bpf program definition am: 5c79165bb2
Original change: https://android-review.googlesource.com/c/platform/system/bpf/+/2172788

Change-Id: Ie753012c419171767dc075b442a3431a0fbf47a2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Maciej Żenczykowski   authored and   Automerger Merge Worker   commited 2022-08-08 18:02:32 +00:00
28a735510a
require a bpf program definition
(it should always be present with current tooling)

Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ib7ec357cc63d8db251abdf7f7d4b41bb2aabe104

Maciej Żenczykowski   commited 2022-08-04 06:38:42 +00:00
5c79165bb2
[automerger skipped] detect inability to write to index != 0 of bpf map array am: ead9d83423 -s ours am: c70682351b -s ours
am skip reason: Merged-In I0cad47113a83dbd837cccc5229ef52b605cda203 with SHA-1 aba9024849 is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/system/bpf/+/19467163

Change-Id: Ica84b84a3831065e8a347b1db3486172721bc224
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Maciej Żenczykowski   authored and   Automerger Merge Worker   commited 2022-08-02 03:35:27 +00:00
9550d98dce
[automerger skipped] detect inability to write to index != 0 of bpf map array am: ead9d83423 -s ours am: 52121cd0ee -s ours
am skip reason: Merged-In I0cad47113a83dbd837cccc5229ef52b605cda203 with SHA-1 810b49a74e is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/system/bpf/+/19467163

Change-Id: Ibb98b2b4b0b23d8a504559f5eb830f988a651c58
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Maciej Żenczykowski   authored and   Automerger Merge Worker   commited 2022-08-02 03:35:01 +00:00
906bbeabfe
[automerger skipped] detect inability to write to index != 0 of bpf map array am: ead9d83423 -s ours
am skip reason: Merged-In I0cad47113a83dbd837cccc5229ef52b605cda203 with SHA-1 810b49a74e is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/system/bpf/+/19467163

Change-Id: I644cf6ed26d7714b56a710b27f63c5bded17bdfc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Maciej Żenczykowski   authored and   Automerger Merge Worker   commited 2022-08-02 03:19:26 +00:00
52121cd0ee
[automerger skipped] detect inability to write to index != 0 of bpf map array am: ead9d83423 -s ours
am skip reason: Merged-In I0cad47113a83dbd837cccc5229ef52b605cda203 with SHA-1 aba9024849 is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/system/bpf/+/19467163

Change-Id: Idd7d88d303b6c9d683a4598ab31f08cf5a7e314b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Maciej Żenczykowski   authored and   Automerger Merge Worker   commited 2022-08-02 03:19:25 +00:00
c70682351b
[automerger skipped] detect inability to write to index != 0 of bpf map array am: 810b49a74e -s ours
am skip reason: Merged-In I0cad47113a83dbd837cccc5229ef52b605cda203 with SHA-1 aba9024849 is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/system/bpf/+/19467158

Change-Id: Id00a150ab946c1a24cdc83fe7a0b145925076df1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Maciej Żenczykowski   authored and   Automerger Merge Worker   commited 2022-08-01 01:11:05 +00:00
2446443dc1
detect inability to write to index != 0 of bpf map array
(this is a test for a kernel bug)

Bug: 240347583
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I0cad47113a83dbd837cccc5229ef52b605cda203
(cherry picked from commit aba9024849)
Merged-In: I0cad47113a83dbd837cccc5229ef52b605cda203

Maciej Żenczykowski   authored and   Cherrypicker Worker   commited 2022-07-29 10:39:50 +00:00
ead9d83423
detect inability to write to index != 0 of bpf map array
(this is a test for a kernel bug)

Bug: 240347583
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I0cad47113a83dbd837cccc5229ef52b605cda203
(cherry picked from commit aba9024849)
Merged-In: I0cad47113a83dbd837cccc5229ef52b605cda203

Maciej Żenczykowski   authored and   Cherrypicker Worker   commited 2022-07-29 10:17:26 +00:00
810b49a74e
Merge "detect inability to write to index != 0 of bpf map array" am: 515bf77a8a am: 199dce675c am: 730471caac am: 91bb1c9f5e
Original change: https://android-review.googlesource.com/c/platform/system/bpf/+/2168142

Change-Id: Ib3c8b5454cc761c34b9c79c4c7547445c1c1e375
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Treehugger Robot   authored and   Automerger Merge Worker   commited 2022-07-29 03:10:36 +00:00
d89a930475
Merge "detect inability to write to index != 0 of bpf map array" am: 515bf77a8a am: 199dce675c am: 730471caac
Original change: https://android-review.googlesource.com/c/platform/system/bpf/+/2168142

Change-Id: I95e4653912bd8267bd2071f8e38657b4ac3176d9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Treehugger Robot   authored and   Automerger Merge Worker   commited 2022-07-29 02:47:39 +00:00
91bb1c9f5e
Merge "detect inability to write to index != 0 of bpf map array" am: 515bf77a8a am: 199dce675c
Original change: https://android-review.googlesource.com/c/platform/system/bpf/+/2168142

Change-Id: I96a82ee21643626386f3ca5ef6609947864ddf4e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Treehugger Robot   authored and   Automerger Merge Worker   commited 2022-07-29 02:31:07 +00:00
730471caac
Merge "detect inability to write to index != 0 of bpf map array" am: 515bf77a8a
Original change: https://android-review.googlesource.com/c/platform/system/bpf/+/2168142

Change-Id: I8a42f7b60e5939637d1e3aee4054e2124fc196e2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Treehugger Robot   authored and   Automerger Merge Worker   commited 2022-07-29 01:44:54 +00:00
199dce675c
Merge "detect inability to write to index != 0 of bpf map array"
Treehugger Robot   authored and   Gerrit Code Review   commited 2022-07-29 01:20:25 +00:00
515bf77a8a
detect inability to write to index != 0 of bpf map array
(this is a test for a kernel bug)

Bug: 240347583
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I0cad47113a83dbd837cccc5229ef52b605cda203

Maciej Żenczykowski   commited 2022-07-28 02:29:54 -07:00
aba9024849
Merge "Add fuse prog types to allowed prog types from system" am: 73d8f14525 am: 883867d94d am: 94a6b5239d am: f1fe48cf38
Original change: https://android-review.googlesource.com/c/platform/system/bpf/+/2164582

Change-Id: Ia158d4a2a8e902ffc9d60f6be611e57ed75e1064
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Paul Lawrence   authored and   Automerger Merge Worker   commited 2022-07-27 21:19:22 +00:00
ec9897ffcd
Merge "Add fuse prog types to allowed prog types from system" am: 73d8f14525 am: 883867d94d am: 94a6b5239d
Original change: https://android-review.googlesource.com/c/platform/system/bpf/+/2164582

Change-Id: Ic6c42698a3c78e9e876cf3196624e638710c8e3e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Paul Lawrence   authored and   Automerger Merge Worker   commited 2022-07-27 20:42:35 +00:00
f1fe48cf38
Merge "Add fuse prog types to allowed prog types from system" am: 73d8f14525 am: 883867d94d
Original change: https://android-review.googlesource.com/c/platform/system/bpf/+/2164582

Change-Id: I5abf0eb67cd3b1bf6eb83375cb18f0bbe4cd8c79
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Paul Lawrence   authored and   Automerger Merge Worker   commited 2022-07-27 20:25:06 +00:00
94a6b5239d
Merge "Add fuse prog types to allowed prog types from system" am: 73d8f14525
Original change: https://android-review.googlesource.com/c/platform/system/bpf/+/2164582

Change-Id: Ife1e285822ea70b62717755743e2d4abc55a5bd1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Paul Lawrence   authored and   Automerger Merge Worker   commited 2022-07-27 20:00:14 +00:00
883867d94d
Merge "Add fuse prog types to allowed prog types from system"
Paul Lawrence   authored and   Gerrit Code Review   commited 2022-07-27 19:44:21 +00:00
73d8f14525
Make sure that BPFLOADER_VERSION >= COMPILE_FOR_BPFLOADER_VERSION am: b3dcc14182 am: 3d97f1532b am: 78d28d0aef am: d4008576b9
Original change: https://android-review.googlesource.com/c/platform/system/bpf/+/2164742

Change-Id: I35a27491fd32253c64d071e991b29a3c1b65a060
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Maciej Żenczykowski   authored and   Automerger Merge Worker   commited 2022-07-25 21:05:26 +00:00
307460a1f4
Make sure that BPFLOADER_VERSION >= COMPILE_FOR_BPFLOADER_VERSION am: b3dcc14182 am: 3d97f1532b am: 78d28d0aef
Original change: https://android-review.googlesource.com/c/platform/system/bpf/+/2164742

Change-Id: I560596c55660fef553144509741fad5a6fc22bc4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Maciej Żenczykowski   authored and   Automerger Merge Worker   commited 2022-07-25 20:40:12 +00:00
d4008576b9
Make sure that BPFLOADER_VERSION >= COMPILE_FOR_BPFLOADER_VERSION am: b3dcc14182 am: 3d97f1532b
Original change: https://android-review.googlesource.com/c/platform/system/bpf/+/2164742

Change-Id: I1a3fc9253e6541c794c0387d7f0ebef16c0b3493
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Maciej Żenczykowski   authored and   Automerger Merge Worker   commited 2022-07-25 20:23:27 +00:00
78d28d0aef