Commit graph android_packages_modules_Co.../bpf/loader/NetBpfLoad.cpp
Message SHA1
NetBpfLoad: inline getSectionType - avoids double loop
Test: TreeHugger
Flag: EXEMPT mainline
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I66d9d786e27d382b14b8744a9ceafb6a791adfd4

Maciej Żenczykowski   commited 2025-07-31 18:17:40 -07:00
c22a0990a6
NetBpfLoad: remove unused readSectionUint()
Test: TreeHugger
Flag: EXEMPT mainline/noop
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I88de4f7d17f3eb28c320a3883638633a2a80f93c

Maciej Żenczykowski   commited 2025-07-31 17:52:57 -07:00
a0baa2ea27
NetBpfLoad: pass md to applyMapRelo() - no longer need readMapNames() function
Test: TreeHugger
Flag: EXEMPT mainline/noop
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I13315fce03b8287a32456ffa7b5a102fd41fd28d

Maciej Żenczykowski   commited 2025-07-31 17:47:45 -07:00
2493cf4eb6
NetBpfLoad: loadProgByLibbpf() does not need to readMapNames()
Test: TreeHugger
Flag: EXEMPT mainline/noop
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I08d5ed71147e756c0d1455ce3fece92d29f2eae5

Maciej Żenczykowski   commited 2025-07-31 17:20:15 -07:00
d4de391686
NetBpfLoad: make createMaps() take md map array instead of reading it
Test: TreeHugger
Flag: EXEMPT mainline/noop
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I08105db30bf237a98126b4a5cb506298173738bf

Maciej Żenczykowski   commited 2025-07-31 17:20:07 -07:00
e9d0e250cf
NetBpfLoad: prepareLoadMaps() doesn't need mapNames
Test: TreeHugger
Flag: EXEMPT mainline
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I0a8f73fc8104dbe1af44395993b634c18fc3b595

Maciej Żenczykowski   commited 2025-07-31 17:19:59 -07:00
3f44c16a15
NetBpfLoad: pinMaps() doesn't need mapNames
Test: TreeHugger
Flag: EXEMPT mainline/noop
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I87414ecd4acbf83af5b20ddb8c0e540e00ee1f59

Maciej Żenczykowski   commited 2025-07-31 17:19:50 -07:00
cc15e7a903
NetBpfLoad: createMaps() no longer needs to call readMapNames()
Test: TreeHugger
Flag: EXEMPT mainline/noop
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ib2895173722006605547bf9b8aebc368b9540184

Maciej Żenczykowski   commited 2025-07-31 17:19:42 -07:00
0021923e6d
NetBpfLoad: mapMatchesExpectations() doesn't need map name any more
Test: TreeHugger
Flag: EXEMPT mainline/noop
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I5a0f11432dad9f92e123c444cb3b4b5d5b1b0e4a

Maciej Żenczykowski   commited 2025-07-31 17:19:31 -07:00
7ff1b8ee54
NetBpfLoad: replace mapNames[i].c_str() with md[i].name()
Since these are equivalent, search and replace...

Test: TreeHugger
Flag: EXEMPT mainline/noop
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I358220f5db70fcde671ce2560086fc7a220f49c7

Maciej Żenczykowski   commited 2025-07-31 17:19:10 -07:00
dfda509e77
bpf_map_def: introduce map name 'field'
The field is actually just a compile time calculate index into pin_location.
We add a C++ only helper to return the ASCIIZ string at this offset.

Temporary abort() added to show this is equivalent.

Test: TreeHugger
Flag: EXEMPT mainline/noop
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: If57390b99f348ab03b277e8f68e7f38636c751fc

Maciej Żenczykowski   commited 2025-07-31 17:17:41 -07:00
b3dba5438d
bpf: switch map 'pin_prefix' to 'pin_location'
easy to do for maps now, but harder for programs

Test: TreeHugger
Flag: EXEMPT mainline
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I0aedef7a8f28d8cc60ca4912f2666f920b9dbeb5

Maciej Żenczykowski   commited 2025-07-31 12:31:56 -07:00
47e2ba05ed
NetBpfLoad: remove spurious pathToObjName()
Test: TreeHugger
Flag: EXEMPT mainline
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I7fb1ea3fcaed51c4702be18b0af636acfd315d9c

Maciej Żenczykowski   commited 2025-07-31 11:53:04 -07:00
3330faf62f
bpf: switch prog 'pin_subdir' to 'pin_prefix'
which simplifies NetBpfLoad logic

Test: TreeHugger
Flag: EXEMPT mainline
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I610aa8374fe3c56262f76fe52edf8386c1a3ee12

Maciej Żenczykowski   commited 2025-07-31 11:42:10 -07:00
ae1a9ff2fa
bpf: switch map 'pin_subdir' to 'pin_prefix'
which simplifies NetBpfLoad logic

Test: TreeHugger
Flag: EXEMPT mainline
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I3600cf45ae14a20801b5beca0aa9e79bb3052c57

Maciej Żenczykowski   commited 2025-07-31 11:39:38 -07:00
667dfa97e6
bpf: embed 'create_location' instead of 'selinux_context' in .o files
Basically we can verify and precalculate this at build time.

Test: TreeHugger
Flag: EXEMPT mainline
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ie4e336c6dc82a0e93a3e62c88c313a32cb245861

Maciej Żenczykowski   commited 2025-07-30 15:27:49 -07:00
0864153ddd
NetBpfLoad: remove validatePinDir()
No longer required now that we have compile time verification.

Test: TreeHugger
Flag: EXEMPT mainline
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I5b18727e8ebf820a06ba647bb7349ba755d5d798

Maciej Żenczykowski   commited 2025-07-30 15:02:07 -07:00
ed945905de
bpf_map_def: increase BPF_PIN_SUBDIR_CHAR_ARRAY_SIZE from 32 to 66
will allow us to store full pin location, longest we currently have is 64 + NULL:
  $ adb shell find /sys/fs/bpf | egrep net | egrep '.{64}'
  /sys/fs/bpf/netd_shared/prog_netd_cgroupsockrelease_inet_release
  $ adb shell find /sys/fs/bpf | egrep net | egrep '.{65}'
  <nothing>

Choose small value so we don't needlessly bloat the .o's.
This can be trivially increased on demand.

Test: TreeHugger
Flag: EXEMPT mainline
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I62015d2703fdee004fb7279d8f9ca83f7462a4df

Maciej Żenczykowski   commited 2025-07-30 12:49:04 -07:00
5765db482c
NetBpfLoad: inline trivial readProgDefs()
Test: TreeHugger
Flag: EXEMPT mainline/noop
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I677d87fd4535740ced99cdc75f9ff9810bae68e6

Maciej Żenczykowski   commited 2025-07-30 10:56:17 -07:00
ac40f52e27
NetBpfLoad: use objName/progName less location pre-rename
The genfscon rules only care about the directory, the precise
name is irrelevant and temporary since we immediately rename.

Test: TreeHugger
Flag: EXEMPT mainline
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I6307dc2f7f10d78026c3f798cb1d3027619cee4f

Maciej Żenczykowski   commited 2025-07-29 19:53:10 -07:00
f6dfae8d0e
NetBpfLoad: use objName/mapName less location pre-rename
The genfscon rules only care about the directory, the precise
name is irrelevant and temporary since we immediately rename.

Test: TreeHugger
Flag: EXEMPT mainline
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ic8cd316df6649b9bfd629694e32130ce7363afea

Maciej Żenczykowski   commited 2025-07-29 19:53:10 -07:00
04747910f7
NetBpfLoad: remove foo@1.o support
No longer needed now that we have a single loader
which can support everything.

Test: TreeHugger
Flag: EXEMPT mainline/noop
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I74c24016265a2b41d818d55c98cbabde04687dd8

Maciej Żenczykowski   commited 2025-07-29 19:53:09 -07:00
08ad51519a
Merge "NetBpfLoad: Load netd.o by libbpf on 25Q3+" into main
Maciej Żenczykowski   authored and   Android (Google) Code Review   commited 2025-07-29 08:08:55 -07:00
1a2f7c35a4
Merge changes If57594b4,Iecb07123 into main
* changes:
  NetBpfLoad: Load dscpPolicy.o by libbpf on 25Q3+
  NetBpfLoad: Load clatd.o by libbpf on 25Q3+

Maciej Żenczykowski   authored and   Android (Google) Code Review   commited 2025-07-29 08:08:41 -07:00
a39fa3b3d5
Merge "NetBpfLoad: Load test.o by libbpf on 25Q3+" into main
Maciej Żenczykowski   authored and   Android (Google) Code Review   commited 2025-07-29 08:07:41 -07:00
fae303f20b
NetBpfLoad: Load netd.o by libbpf on 25Q3+
Before this change
"""
$ adb shell ls -lZ /sys/fs/bpf/netd_shared/
total 0
drwxrwxrwt 2 root root        u:object_r:fs_bpf_netd_shared:s0    0 2025-07-29 19:52 mainline_done
----rw---- 1 root net_bw_acct u:object_r:fs_bpf_net_shared:s0     0 2025-07-29 19:52 map_netd_app_uid_stats_map
----rw---- 1 root net_bw_acct u:object_r:fs_bpf_net_shared:s0     0 2025-07-29 19:52 map_netd_blocked_ports_map
-r--rw---- 1 root net_bw_acct u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:52 map_netd_configuration_map
-rw-rw---- 1 root net_bw_acct u:object_r:fs_bpf_netd_shared:s0    0 2025-07-29 19:52 map_netd_cookie_tag_map
-r--rw---- 1 root net_bw_acct u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:52 map_netd_data_saver_enabled_map
----rw---- 1 root net_bw_acct u:object_r:fs_bpf_net_shared:s0     0 2025-07-29 19:52 map_netd_iface_index_name_map
----rw---- 1 root net_bw_acct u:object_r:fs_bpf_net_shared:s0     0 2025-07-29 19:52 map_netd_iface_stats_map
----rw---- 1 root net_bw_acct u:object_r:fs_bpf_net_shared:s0     0 2025-07-29 19:52 map_netd_ingress_discard_map
----rw---- 1 root net_bw_acct u:object_r:fs_bpf_net_shared:s0     0 2025-07-29 19:52 map_netd_local_net_access_map
----rw---- 1 root net_bw_acct u:object_r:fs_bpf_net_shared:s0     0 2025-07-29 19:52 map_netd_local_net_blocked_uid_map
-rw-rw---- 1 root net_bw_acct u:object_r:fs_bpf_netd_shared:s0    0 2025-07-29 19:52 map_netd_lock_array_test_map
-rw-rw---- 1 root net_bw_acct u:object_r:fs_bpf_netd_shared:s0    0 2025-07-29 19:52 map_netd_lock_hash_test_map
----rw---- 1 root system      u:object_r:fs_bpf_net_shared:s0     0 2025-07-29 19:52 map_netd_packet_trace_enabled_map
----rw---- 1 root system      u:object_r:fs_bpf_net_shared:s0     0 2025-07-29 19:52 map_netd_packet_trace_ringbuf
----rw---- 1 root net_bw_acct u:object_r:fs_bpf_net_shared:s0     0 2025-07-29 19:52 map_netd_sk_storage
-r--rw---- 1 root net_bw_acct u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:52 map_netd_stats_map_A
-r--rw---- 1 root net_bw_acct u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:52 map_netd_stats_map_B
----rw---- 1 root net_bw_acct u:object_r:fs_bpf_net_shared:s0     0 2025-07-29 19:52 map_netd_uid_counterset_map
-r--rw---- 1 root net_bw_acct u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:52 map_netd_uid_owner_map
-r--rw---- 1 root net_bw_acct u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:52 map_netd_uid_permission_map
-r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:52 prog_netd_bind4_inet4_bind
-r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:52 prog_netd_bind6_inet6_bind
-r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:52 prog_netd_cgroupskb_egress_stats
-r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:52 prog_netd_cgroupskb_ingress_stats
-r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:52 prog_netd_cgroupsock_inet_create
-r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:52 prog_netd_cgroupsockrelease_inet_release
-r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:52 prog_netd_connect4_inet4_connect
-r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:52 prog_netd_connect6_inet6_connect
-r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:52 prog_netd_getsockopt_prog
-r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:52 prog_netd_recvmsg4_udp4_recvmsg
-r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:52 prog_netd_recvmsg6_udp6_recvmsg
-r--r----- 1 root net_admin   u:object_r:fs_bpf_net_shared:s0     0 2025-07-29 19:52 prog_netd_schedact_ingress_account
-r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:52 prog_netd_sendmsg4_udp4_sendmsg
-r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:52 prog_netd_sendmsg6_udp6_sendmsg
-r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:52 prog_netd_setsockopt_prog
-r--r----- 1 root net_admin   u:object_r:fs_bpf_netd_shared:s0    0 2025-07-29 19:52 prog_netd_skfilter_allowlist_xtbpf
-r--r----- 1 root net_admin   u:object_r:fs_bpf_netd_shared:s0    0 2025-07-29 19:52 prog_netd_skfilter_denylist_xtbpf
-r--r----- 1 root net_admin   u:object_r:fs_bpf_netd_shared:s0    0 2025-07-29 19:52 prog_netd_skfilter_egress_xtbpf
-r--r----- 1 root net_admin   u:object_r:fs_bpf_netd_shared:s0    0 2025-07-29 19:52 prog_netd_skfilter_ingress_xtbpf

$ adb logcat
07-29 19:52:24.598   792   792 D NetBpfLoad: Loaded object: /apex/com.android.tethering/etc/bpf/mainline/netd.o, libbpf: 0
"""

After this change
"""
$ adb shell ls -lZ /sys/fs/bpf/netd_shared/
motomuman@DESK:/disk/main$ adb shell ls -lZ /sys/fs/bpf/netd_shared/
total 0
drwxrwxrwt 2 root root        u:object_r:fs_bpf_netd_shared:s0    0 2025-07-29 19:56 mainline_done
----rw---- 1 root net_bw_acct u:object_r:fs_bpf_net_shared:s0     0 2025-07-29 19:56 map_netd_app_uid_stats_map
----rw---- 1 root net_bw_acct u:object_r:fs_bpf_net_shared:s0     0 2025-07-29 19:56 map_netd_blocked_ports_map
-r--rw---- 1 root net_bw_acct u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:56 map_netd_configuration_map
-rw-rw---- 1 root net_bw_acct u:object_r:fs_bpf_netd_shared:s0    0 2025-07-29 19:56 map_netd_cookie_tag_map
-r--rw---- 1 root net_bw_acct u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:56 map_netd_data_saver_enabled_map
----rw---- 1 root net_bw_acct u:object_r:fs_bpf_net_shared:s0     0 2025-07-29 19:56 map_netd_iface_index_name_map
----rw---- 1 root net_bw_acct u:object_r:fs_bpf_net_shared:s0     0 2025-07-29 19:56 map_netd_iface_stats_map
----rw---- 1 root net_bw_acct u:object_r:fs_bpf_net_shared:s0     0 2025-07-29 19:56 map_netd_ingress_discard_map
----rw---- 1 root net_bw_acct u:object_r:fs_bpf_net_shared:s0     0 2025-07-29 19:56 map_netd_local_net_access_map
----rw---- 1 root net_bw_acct u:object_r:fs_bpf_net_shared:s0     0 2025-07-29 19:56 map_netd_local_net_blocked_uid_map
-rw-rw---- 1 root net_bw_acct u:object_r:fs_bpf_netd_shared:s0    0 2025-07-29 19:56 map_netd_lock_array_test_map
-rw-rw---- 1 root net_bw_acct u:object_r:fs_bpf_netd_shared:s0    0 2025-07-29 19:56 map_netd_lock_hash_test_map
----rw---- 1 root system      u:object_r:fs_bpf_net_shared:s0     0 2025-07-29 19:56 map_netd_packet_trace_enabled_map
----rw---- 1 root system      u:object_r:fs_bpf_net_shared:s0     0 2025-07-29 19:56 map_netd_packet_trace_ringbuf
----rw---- 1 root net_bw_acct u:object_r:fs_bpf_net_shared:s0     0 2025-07-29 19:56 map_netd_sk_storage
-r--rw---- 1 root net_bw_acct u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:56 map_netd_stats_map_A
-r--rw---- 1 root net_bw_acct u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:56 map_netd_stats_map_B
----rw---- 1 root net_bw_acct u:object_r:fs_bpf_net_shared:s0     0 2025-07-29 19:56 map_netd_uid_counterset_map
-r--rw---- 1 root net_bw_acct u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:56 map_netd_uid_owner_map
-r--rw---- 1 root net_bw_acct u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:56 map_netd_uid_permission_map
-r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:56 prog_netd_bind4_inet4_bind
-r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:56 prog_netd_bind6_inet6_bind
-r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:56 prog_netd_cgroupskb_egress_stats
-r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:56 prog_netd_cgroupskb_ingress_stats
-r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:56 prog_netd_cgroupsock_inet_create
-r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:56 prog_netd_cgroupsockrelease_inet_release
-r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:56 prog_netd_connect4_inet4_connect
-r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:56 prog_netd_connect6_inet6_connect
-r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:56 prog_netd_getsockopt_prog
-r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:56 prog_netd_recvmsg4_udp4_recvmsg
-r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:56 prog_netd_recvmsg6_udp6_recvmsg
-r--r----- 1 root net_admin   u:object_r:fs_bpf_net_shared:s0     0 2025-07-29 19:56 prog_netd_schedact_ingress_account
-r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:56 prog_netd_sendmsg4_udp4_sendmsg
-r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:56 prog_netd_sendmsg6_udp6_sendmsg
-r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-29 19:56 prog_netd_setsockopt_prog
-r--r----- 1 root net_admin   u:object_r:fs_bpf_netd_shared:s0    0 2025-07-29 19:56 prog_netd_skfilter_allowlist_xtbpf
-r--r----- 1 root net_admin   u:object_r:fs_bpf_netd_shared:s0    0 2025-07-29 19:56 prog_netd_skfilter_denylist_xtbpf
-r--r----- 1 root net_admin   u:object_r:fs_bpf_netd_shared:s0    0 2025-07-29 19:56 prog_netd_skfilter_egress_xtbpf
-r--r----- 1 root net_admin   u:object_r:fs_bpf_netd_shared:s0    0 2025-07-29 19:56 prog_netd_skfilter_ingress_xtbpf

$ adb logcat
07-29 19:56:31.625   788   788 D NetBpfLoad: Loaded object: /apex/com.android.tethering/etc/bpf/mainline/netd.o, libbpf: 1
"""

Bug: 428792764
Flag: EXEMPT mainline
Test: TH
Change-Id: I79b007450df134533fd780a9e94361361d862fb8

Motomu Utsumi   commited 2025-07-29 19:58:42 +09:00
15aedc9b4a
NetBpfLoad: Load dscpPolicy.o by libbpf on 25Q3+
Before this change
"""
$ adb shell ls -lZ /sys/fs/bpf/net_shared/*dscp*
-rw-rw---- 1 root system u:object_r:fs_bpf_net_shared:s0  0 2025-07-29 19:46 /sys/fs/bpf/net_shared/map_dscpPolicy_ipv4_dscp_policies_map
-rw-rw---- 1 root system u:object_r:fs_bpf_net_shared:s0  0 2025-07-29 19:46 /sys/fs/bpf/net_shared/map_dscpPolicy_ipv6_dscp_policies_map
---------- 1 root root   u:object_r:fs_bpf_loader:s0      0 2025-07-29 19:46 /sys/fs/bpf/net_shared/map_dscpPolicy_socket_policy_cache_map
-r--r----- 1 root system u:object_r:fs_bpf_net_shared:s0  0 2025-07-29 19:46 /sys/fs/bpf/net_shared/prog_dscpPolicy_schedcls_set_dscp_ether

$ adb logcat
07-29 19:46:24.468   794   794 D NetBpfLoad: Loaded object: /apex/com.android.tethering/etc/bpf/mainline/dscpPolicy.o, libbpf: 0
"""

After this change
"""
$ adb shell ls -lZ /sys/fs/bpf/net_shared/*dscp*
-rw-rw---- 1 root system u:object_r:fs_bpf_net_shared:s0  0 2025-07-29 19:52 /sys/fs/bpf/net_shared/map_dscpPolicy_ipv4_dscp_policies_map
-rw-rw---- 1 root system u:object_r:fs_bpf_net_shared:s0  0 2025-07-29 19:52 /sys/fs/bpf/net_shared/map_dscpPolicy_ipv6_dscp_policies_map
---------- 1 root root   u:object_r:fs_bpf_loader:s0      0 2025-07-29 19:52 /sys/fs/bpf/net_shared/map_dscpPolicy_socket_policy_cache_map
-r--r----- 1 root system u:object_r:fs_bpf_net_shared:s0  0 2025-07-29 19:52 /sys/fs/bpf/net_shared/prog_dscpPolicy_schedcls_set_dscp_ether

$ adb logcat
07-29 19:52:24.493   792   792 D NetBpfLoad: Loaded object: /apex/com.android.tethering/etc/bpf/mainline/dscpPolicy.o, libbpf: 1
"""

Bug: 428792764
Flag: EXEMPT mainline
Test: TH
Change-Id: If57594b490908eb46070812c12e611c2804fe251

Motomu Utsumi   commited 2025-07-29 19:58:33 +09:00
0062e898f0
NetBpfLoad: Load clatd.o by libbpf on 25Q3+
Before this change
"""
$ adb shell ls -lZ /sys/fs/bpf/net_shared/*clat*
-rw-rw---- 1 root system u:object_r:fs_bpf_net_shared:s0  0 2025-07-29 19:41 /sys/fs/bpf/net_shared/map_clatd_clat_egress4_map
-rw-rw---- 1 root system u:object_r:fs_bpf_net_shared:s0  0 2025-07-29 19:41 /sys/fs/bpf/net_shared/map_clatd_clat_ingress6_map
-r--r----- 1 root system u:object_r:fs_bpf_net_shared:s0  0 2025-07-29 19:41 /sys/fs/bpf/net_shared/prog_clatd_schedcls_egress4_clat_rawip
-r--r----- 1 root system u:object_r:fs_bpf_net_shared:s0  0 2025-07-29 19:41 /sys/fs/bpf/net_shared/prog_clatd_schedcls_ingress6_clat_ether
-r--r----- 1 root system u:object_r:fs_bpf_net_shared:s0  0 2025-07-29 19:41 /sys/fs/bpf/net_shared/prog_clatd_schedcls_ingress6_clat_rawip

$ adb logcat
07-29 19:41:34.556   800   800 D NetBpfLoad: Loaded object: /apex/com.android.tethering/etc/bpf/mainline/clatd.o, libbpf: 0
"""

After this change
"""
$ adb shell ls -lZ /sys/fs/bpf/net_shared/*clat*
-rw-rw---- 1 root system u:object_r:fs_bpf_net_shared:s0  0 2025-07-29 19:46 /sys/fs/bpf/net_shared/map_clatd_clat_egress4_map
-rw-rw---- 1 root system u:object_r:fs_bpf_net_shared:s0  0 2025-07-29 19:46 /sys/fs/bpf/net_shared/map_clatd_clat_ingress6_map
-r--r----- 1 root system u:object_r:fs_bpf_net_shared:s0  0 2025-07-29 19:46 /sys/fs/bpf/net_shared/prog_clatd_schedcls_egress4_clat_rawip
-r--r----- 1 root system u:object_r:fs_bpf_net_shared:s0  0 2025-07-29 19:46 /sys/fs/bpf/net_shared/prog_clatd_schedcls_ingress6_clat_ether
-r--r----- 1 root system u:object_r:fs_bpf_net_shared:s0  0 2025-07-29 19:46 /sys/fs/bpf/net_shared/prog_clatd_schedcls_ingress6_clat_rawip

$ adb logcat
07-29 19:46:24.453   794   794 D NetBpfLoad: Loaded object: /apex/com.android.tethering/etc/bpf/mainline/clatd.o, libbpf: 1
"""

Bug: 428792764
Flag: EXEMPT mainline
Test: TH
Change-Id: Iecb07123ca7bc6bfa8649202ed212731398beeae

Motomu Utsumi   commited 2025-07-29 19:58:04 +09:00
f5044b7363
NetBpfLoad: Load test.o by libbpf on 25Q3+
Before this change
"""
$ adb shell ls -lZ /sys/fs/bpf/tethering/map_test*
-rw-rw---- 1 root network_stack u:object_r:fs_bpf_tethering:s0  0 2025-07-29 19:35 /sys/fs/bpf/tethering/map_test_bitmap
-rw-rw---- 1 root network_stack u:object_r:fs_bpf_tethering:s0  0 2025-07-29 19:35 /sys/fs/bpf/tethering/map_test_tether2_downstream6_map
-rw-rw---- 1 root network_stack u:object_r:fs_bpf_tethering:s0  0 2025-07-29 19:35 /sys/fs/bpf/tethering/map_test_tether3_downstream6_map
-rw-rw---- 1 root network_stack u:object_r:fs_bpf_tethering:s0  0 2025-07-29 19:35 /sys/fs/bpf/tethering/map_test_tether_downstream6_map

$ adb logcat
07-29 19:35:18.994   790   790 D NetBpfLoad: Loaded object: /apex/com.android.tethering/etc/bpf/mainline/test.o, libbpf: 0
"""

After this change
"""
$ adb shell ls -lZ /sys/fs/bpf/tethering/map_test*
-rw-rw---- 1 root network_stack u:object_r:fs_bpf_tethering:s0  0 2025-07-29 19:41 /sys/fs/bpf/tethering/map_test_bitmap
-rw-rw---- 1 root network_stack u:object_r:fs_bpf_tethering:s0  0 2025-07-29 19:41 /sys/fs/bpf/tethering/map_test_tether2_downstream6_map
-rw-rw---- 1 root network_stack u:object_r:fs_bpf_tethering:s0  0 2025-07-29 19:41 /sys/fs/bpf/tethering/map_test_tether3_downstream6_map
-rw-rw---- 1 root network_stack u:object_r:fs_bpf_tethering:s0  0 2025-07-29 19:41 /sys/fs/bpf/tethering/map_test_tether_downstream6_map

$ adb logcat
07-29 19:41:34.547   800   800 D NetBpfLoad: Loaded object: /apex/com.android.tethering/etc/bpf/mainline/test.o, libbpf: 1
"""

Bug: 428792764
Flag: EXEMPT mainline
Test: TH
Change-Id: I5525bc277960c7257724bd6a0a764653f6dfb186

Motomu Utsumi   commited 2025-07-29 19:57:53 +09:00
4efd544c41
NetBpfLoad: eliminate 'domain' concept
No longer useful in a self-contained mainline world.

Test: TreeHugger
Flag: EXEMPT mainline
Signed-off-by: Maciej Żenczykowski <maze@google.com
Change-Id: I9dffa848e5323cf0c2ef9873caeb89bf2b2e8656

Maciej Żenczykowski   commited 2025-07-28 18:45:12 -07:00
f297f808bb
NetBpfLoad: eliminate getDomainFromPinSubdir()
(and enforce that pindir is actually specified and not empty)

Test: TreeHugger
Flag: EXEMPT mainline
Signed-off-by: Maciej Żenczykowski <maze@google.com
Change-Id: I366aebebed2b39ffd64a90fd9199805d342c2d4a

Maciej Żenczykowski   commited 2025-07-28 18:44:17 -07:00
1fdc303788
NetBpfLoad: remove specified(pin_subdir) checks
pin_subdir is now always specified...

Of the 4 checks, 2 are only for ALOGV low-value logging,
I've always thought we should probably just remove that.

The other 2 checks appear to actually be buggy.
They should probably be checking selinux_context rather
than pin_subdir, since pin_subdir likely (untested)
just works fine.

Verify via:
  git grep 'specified[(]pin_subdir[)]'

Test: TreeHugger
Flag: EXEMPT mainline
Signed-off-by: Maciej Żenczykowski <maze@google.com
Change-Id: Id98dc9ce4e0a586821bbbb53ecc3ac503f095131

Maciej Żenczykowski   commited 2025-07-28 17:41:21 -07:00
037a1cee8c
NetBpfLoad: remove 'prefix' from lookupPinSubDir()
Test: TreeHugger
Flag: EXEMPT mainline/noop
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ief8e0d44efc5b1bc235ba70d78875c0ef0e9ed76

Maciej Żenczykowski   commited 2025-07-28 15:37:15 -07:00
16a2448bd8
NetBpfLoad: remove 'prefix' from buildProgPinLoc()
Test: TreeHugger
Flag: EXEMPT mainline/noop
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I05541f7b29e14ab60e7db71d8d90581def26c279

Maciej Żenczykowski   commited 2025-07-28 15:36:27 -07:00
c0136b1e4f
NetBpfload: remove 'prefix' from loadCodeSections()
Test: TreeHugger
Flag: EXEMPT mainline/noop
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Id591a6cc621e8c0db52ac8df694d139cd273853a

Maciej Żenczykowski   commited 2025-07-28 15:36:16 -07:00
05da6b077d
NetBpfLoad: remove 'prefix' from pinProgs()
Test: TreeHugger
Flag: EXEMPT mainline/noop
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I83922a5aa990fbbb6c5a6cf9412e437ca2669ff9

Maciej Żenczykowski   commited 2025-07-28 15:36:04 -07:00
f8e883658d
NetBpfLoad: remove 'prefix' from buildMapPinLoc()
Test: TreeHugger
Flag: EXEMPT mainline/noop
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I23361e204e92d6323d91174c0882058f2477eb37

Maciej Żenczykowski   commited 2025-07-28 15:21:56 -07:00
586d462f55
NetBpfLoad: remove 'prefix' from pinMaps()
Test: TreeHugger
Flag: EXEMPT mainline/noop
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Iff334320127de04261f58d065a656478b1216d12

Maciej Żenczykowski   commited 2025-07-28 15:21:56 -07:00
7ce493dd55
NetBpfLoad: remove 'prefix' from createMaps()
Test: TreeHugger
Flag: EXEMPT mainline/noop
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: If41c62f8721fee5fa997684ebf60535e0e8b634b

Maciej Żenczykowski   commited 2025-07-28 15:21:56 -07:00
960c3372a0
NetBpfLoad: remove 'prefix' from loadProg()
Test: TreeHugger
Flag: EXEMPT mainline/noop
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I8678bd27e5de720c49b33bacc25dc59d10354774

Maciej Żenczykowski   commited 2025-07-28 15:21:56 -07:00
12751c54fa
NetBpfLoad: remove 'prefix' from loadProgByLibbpf()
Test: TreeHugger,
Flag: EXEMPT mainline/noop
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Id9e44b999ccfefce3586e94a24fef8758320215d

Maciej Żenczykowski   commited 2025-07-28 15:21:56 -07:00
ff3b418cf2
NetBpfLoad: remove 'prefix' from loadObject
Test: TreeHugger, atest bpf_existence_test
Flag: EXEMPT mainline/noop
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I3495ac194c8cd3cbf9befefcc85237b8c5677ad1

Maciej Żenczykowski   commited 2025-07-28 15:21:56 -07:00
58464e6d5b
bpf: netd.c - use pindir instead of prefix
We continue to have:
  $ adbz shell ls -lZ /sys/fs/bpf/*/*_netd_*
  ----rw---- 1 root net_bw_acct u:object_r:fs_bpf_net_shared:s0     0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/map_netd_app_uid_stats_map
  ----rw---- 1 root net_bw_acct u:object_r:fs_bpf_net_shared:s0     0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/map_netd_blocked_ports_map
  -r--rw---- 1 root net_bw_acct u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/map_netd_configuration_map
  -rw-rw---- 1 root net_bw_acct u:object_r:fs_bpf_netd_shared:s0    0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/map_netd_cookie_tag_map
  -r--rw---- 1 root net_bw_acct u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/map_netd_data_saver_enabled_map
  ----rw---- 1 root net_bw_acct u:object_r:fs_bpf_net_shared:s0     0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/map_netd_iface_index_name_map
  ----rw---- 1 root net_bw_acct u:object_r:fs_bpf_net_shared:s0     0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/map_netd_iface_stats_map
  ----rw---- 1 root net_bw_acct u:object_r:fs_bpf_net_shared:s0     0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/map_netd_ingress_discard_map
  ----rw---- 1 root net_bw_acct u:object_r:fs_bpf_net_shared:s0     0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/map_netd_local_net_access_map
  ----rw---- 1 root net_bw_acct u:object_r:fs_bpf_net_shared:s0     0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/map_netd_local_net_blocked_uid_map
  -rw-rw---- 1 root net_bw_acct u:object_r:fs_bpf_netd_shared:s0    0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/map_netd_lock_array_test_map
  -rw-rw---- 1 root net_bw_acct u:object_r:fs_bpf_netd_shared:s0    0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/map_netd_lock_hash_test_map
  ----rw---- 1 root system      u:object_r:fs_bpf_net_shared:s0     0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/map_netd_packet_trace_enabled_map
  ----rw---- 1 root system      u:object_r:fs_bpf_net_shared:s0     0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/map_netd_packet_trace_ringbuf
  ----rw---- 1 root net_bw_acct u:object_r:fs_bpf_net_shared:s0     0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/map_netd_sk_storage
  -r--rw---- 1 root net_bw_acct u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/map_netd_stats_map_A
  -r--rw---- 1 root net_bw_acct u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/map_netd_stats_map_B
  ----rw---- 1 root net_bw_acct u:object_r:fs_bpf_net_shared:s0     0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/map_netd_uid_counterset_map
  -r--rw---- 1 root net_bw_acct u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/map_netd_uid_owner_map
  -r--rw---- 1 root net_bw_acct u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/map_netd_uid_permission_map
  -r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/prog_netd_bind4_inet4_bind
  -r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/prog_netd_bind6_inet6_bind
  -r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/prog_netd_cgroupskb_egress_stats
  -r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/prog_netd_cgroupskb_ingress_stats
  -r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/prog_netd_cgroupsock_inet_create
  -r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/prog_netd_cgroupsockrelease_inet_release
  -r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/prog_netd_connect4_inet4_connect
  -r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/prog_netd_connect6_inet6_connect
  -r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/prog_netd_getsockopt_prog
  -r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/prog_netd_recvmsg4_udp4_recvmsg
  -r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/prog_netd_recvmsg6_udp6_recvmsg
  -r--r----- 1 root net_admin   u:object_r:fs_bpf_net_shared:s0     0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/prog_netd_schedact_ingress_account
  -r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/prog_netd_sendmsg4_udp4_sendmsg
  -r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/prog_netd_sendmsg6_udp6_sendmsg
  -r--r----- 1 root root        u:object_r:fs_bpf_netd_readonly:s0  0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/prog_netd_setsockopt_prog
  -r--r----- 1 root net_admin   u:object_r:fs_bpf_netd_shared:s0    0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/prog_netd_skfilter_allowlist_xtbpf
  -r--r----- 1 root net_admin   u:object_r:fs_bpf_netd_shared:s0    0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/prog_netd_skfilter_denylist_xtbpf
  -r--r----- 1 root net_admin   u:object_r:fs_bpf_netd_shared:s0    0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/prog_netd_skfilter_egress_xtbpf
  -r--r----- 1 root net_admin   u:object_r:fs_bpf_netd_shared:s0    0 2025-07-28 14:43 /sys/fs/bpf/netd_shared/prog_netd_skfilter_ingress_xtbpf

Test: TreeHugger, atest bpf_existence_test
Flag: EXEMPT mainline/noop
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I9b6e343e496b77092e18f54d0a9115ed88d0d711

Maciej Żenczykowski   commited 2025-07-28 15:21:56 -07:00
879752581f
bpf: offload.c - use pindir instead of prefix
We continue to have:
  $ adbz shell ls -lZ /sys/fs/bpf/*/*_offload_*
  -rw-rw---- 1 root network_stack u:object_r:fs_bpf_tethering:s0  0 2025-07-28 14:39 /sys/fs/bpf/tethering/map_offload_tether_dev_map
  -rw-rw---- 1 root network_stack u:object_r:fs_bpf_tethering:s0  0 2025-07-28 14:39 /sys/fs/bpf/tethering/map_offload_tether_downstream4_map
  -rw-rw---- 1 root network_stack u:object_r:fs_bpf_tethering:s0  0 2025-07-28 14:39 /sys/fs/bpf/tethering/map_offload_tether_downstream64_map
  -rw-rw---- 1 root network_stack u:object_r:fs_bpf_tethering:s0  0 2025-07-28 14:39 /sys/fs/bpf/tethering/map_offload_tether_downstream6_map
  -r--r----- 1 root network_stack u:object_r:fs_bpf_tethering:s0  0 2025-07-28 14:39 /sys/fs/bpf/tethering/map_offload_tether_error_map
  -rw-rw---- 1 root network_stack u:object_r:fs_bpf_tethering:s0  0 2025-07-28 14:39 /sys/fs/bpf/tethering/map_offload_tether_limit_map
  -rw-rw---- 1 root network_stack u:object_r:fs_bpf_tethering:s0  0 2025-07-28 14:39 /sys/fs/bpf/tethering/map_offload_tether_stats_map
  -rw-rw---- 1 root network_stack u:object_r:fs_bpf_tethering:s0  0 2025-07-28 14:39 /sys/fs/bpf/tethering/map_offload_tether_upstream4_map
  -rw-rw---- 1 root network_stack u:object_r:fs_bpf_tethering:s0  0 2025-07-28 14:39 /sys/fs/bpf/tethering/map_offload_tether_upstream6_map
  -r--r----- 1 root network_stack u:object_r:fs_bpf_tethering:s0  0 2025-07-28 14:39 /sys/fs/bpf/tethering/prog_offload_schedcls_tether_downstream4_ether
  -r--r----- 1 root network_stack u:object_r:fs_bpf_tethering:s0  0 2025-07-28 14:39 /sys/fs/bpf/tethering/prog_offload_schedcls_tether_downstream4_rawip
  -r--r----- 1 root network_stack u:object_r:fs_bpf_tethering:s0  0 2025-07-28 14:39 /sys/fs/bpf/tethering/prog_offload_schedcls_tether_downstream6_ether
  -r--r----- 1 root network_stack u:object_r:fs_bpf_tethering:s0  0 2025-07-28 14:39 /sys/fs/bpf/tethering/prog_offload_schedcls_tether_downstream6_rawip
  -r--r----- 1 root network_stack u:object_r:fs_bpf_tethering:s0  0 2025-07-28 14:39 /sys/fs/bpf/tethering/prog_offload_schedcls_tether_upstream4_ether
  -r--r----- 1 root network_stack u:object_r:fs_bpf_tethering:s0  0 2025-07-28 14:39 /sys/fs/bpf/tethering/prog_offload_schedcls_tether_upstream4_rawip
  -r--r----- 1 root network_stack u:object_r:fs_bpf_tethering:s0  0 2025-07-28 14:39 /sys/fs/bpf/tethering/prog_offload_schedcls_tether_upstream6_ether
  -r--r----- 1 root network_stack u:object_r:fs_bpf_tethering:s0  0 2025-07-28 14:39 /sys/fs/bpf/tethering/prog_offload_schedcls_tether_upstream6_rawip

Test: TreeHugger
Flag: EXEMPT mainline/noop
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Icba19a50fac5869fa5c7bc86c4b2450a8ede856f

Maciej Żenczykowski   commited 2025-07-28 15:21:56 -07:00
380449ed40
bpf: clatd.c - use pindir instead of prefix
We continue to have:
  $ adbz shell ls -lZ /sys/fs/bpf/*/*_clatd_*
  -rw-rw---- 1 root system u:object_r:fs_bpf_net_shared:s0  0 2025-07-28 14:15 /sys/fs/bpf/net_shared/map_clatd_clat_egress4_map
  -rw-rw---- 1 root system u:object_r:fs_bpf_net_shared:s0  0 2025-07-28 14:15 /sys/fs/bpf/net_shared/map_clatd_clat_ingress6_map
  -r--r----- 1 root system u:object_r:fs_bpf_net_shared:s0  0 2025-07-28 14:15 /sys/fs/bpf/net_shared/prog_clatd_schedcls_egress4_clat_rawip
  -r--r----- 1 root system u:object_r:fs_bpf_net_shared:s0  0 2025-07-28 14:15 /sys/fs/bpf/net_shared/prog_clatd_schedcls_ingress6_clat_ether
  -r--r----- 1 root system u:object_r:fs_bpf_net_shared:s0  0 2025-07-28 14:15 /sys/fs/bpf/net_shared/prog_clatd_schedcls_ingress6_clat_rawip

Test: TreeHugger
Flag: EXEMPT mainline/noop
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Id015d91f5e42acedea1ccf813334012f4b0f64ec

Maciej Żenczykowski   commited 2025-07-28 15:21:56 -07:00
6fba0348b6
bpf: dscpPolicy.c - use pindir instead of prefix
We continue to have:
  $ adbz shell ls -lZ /sys/fs/bpf/*/*_dscpPolicy_*
  -rw-rw---- 1 root system u:object_r:fs_bpf_net_shared:s0  0 2025-07-28 14:05 /sys/fs/bpf/net_shared/map_dscpPolicy_ipv4_dscp_policies_map
  -rw-rw---- 1 root system u:object_r:fs_bpf_net_shared:s0  0 2025-07-28 14:05 /sys/fs/bpf/net_shared/map_dscpPolicy_ipv6_dscp_policies_map
  ---------- 1 root root   u:object_r:fs_bpf_loader:s0      0 2025-07-28 14:05 /sys/fs/bpf/net_shared/map_dscpPolicy_socket_policy_cache_map
  -r--r----- 1 root system u:object_r:fs_bpf_net_shared:s0  0 2025-07-28 14:05 /sys/fs/bpf/net_shared/prog_dscpPolicy_schedcls_set_dscp_ether

Test: TreeHugger
Flag: EXEMPT mainline/noop
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ia69a48a73b1c9c8543c3e60c7ee9bbf3835eaba9

Maciej Żenczykowski   commited 2025-07-28 15:21:56 -07:00
4af4200968
bpf: test.c - use pindir instead of prefix
We continue to have:
  $ adbz shell ls -lZ /sys/fs/bpf/tethering/map_test_*
  -rw-rw---- 1 root network_stack u:object_r:fs_bpf_tethering:s0  0 2025-07-28 13:46 /sys/fs/bpf/tethering/map_test_bitmap
  -rw-rw---- 1 root network_stack u:object_r:fs_bpf_tethering:s0  0 2025-07-28 13:46 /sys/fs/bpf/tethering/map_test_tether2_downstream6_map
  -rw-rw---- 1 root network_stack u:object_r:fs_bpf_tethering:s0  0 2025-07-28 13:46 /sys/fs/bpf/tethering/map_test_tether3_downstream6_map
  -rw-rw---- 1 root network_stack u:object_r:fs_bpf_tethering:s0  0 2025-07-28 13:46 /sys/fs/bpf/tethering/map_test_tether_downstream6_map

Long term goal here is to eliminate 'prefix' entirely.
This will also allow merging all the bpf .o's into 1.

Test: TreeHugger
Flag: EXEMPT mainline/noop
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ifdbc47243363e73ef46a9a9c71136f342fd381a7

Maciej Żenczykowski   commited 2025-07-28 15:21:56 -07:00
deed643567
bpf: mapDef - eliminate 'bool shared' field
Found mostly via:
  git grep 'shared_bool|PRIVATE'

Test: TreeHugger
Flag: EXEMPT mainline/noop
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ifa8098fe65c2b3278ad6e11191889f79ab7c3d57

Maciej Żenczykowski   commited 2025-07-28 15:21:56 -07:00
c1f92e5c7b
Revert "NetBpfLoad: abort if pin_subdir is specified"
This reverts commit 10979ef9ec.

Test: TreeHugger
Flag: EXEMPT mainline/noop
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I0a3e41c11c9f6b758b883ec93c12009b52a1a185

Maciej Żenczykowski   commited 2025-07-28 15:21:55 -07:00
12d1fa68f1
bpf: switch map/prog selinux_context field from storing 'fs_bpf_foo' to 'foo/'
This will eliminate the need for domain stuff.

After this:
  git grep fs_bpf_
finds nothing but comments.

Test: TreeHugger
Flag: EXEMPT no-op
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ie834e9b2b120ee772690b28457c1ff080cb914dd

Maciej Żenczykowski   commited 2025-07-28 12:46:43 -07:00
868fc84bdf