From 4e4f8720f26e930dfe1e34fb6170eccb796e1d98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20=C5=BBenczykowski?= Date: Sat, 15 Jun 2024 06:38:08 -0700 Subject: [PATCH] Revert "NetBpfLoad: disable mainline on < U QPR3" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 4b28336a7a35df561511b2124bca1a817daa9426. Fixed trivial comment conflicts in netd/BpfHandler.cpp This is targetting mainline release M-2024-09. Test: TreeHugger Signed-off-by: Maciej Żenczykowski Change-Id: I048af33789590dda4e1f0be0660419ca6b3ad57f --- bpf_progs/block.c | 2 +- bpf_progs/clatd.c | 2 +- bpf_progs/dscpPolicy.c | 2 +- bpf_progs/netd.c | 14 +++++++------- bpf_progs/offload.c | 6 +++--- bpf_progs/test.c | 6 +++--- netd/BpfHandler.cpp | 2 +- 7 files changed, 17 insertions(+), 17 deletions(-) diff --git a/bpf_progs/block.c b/bpf_progs/block.c index e46720373e..152dda64a9 100644 --- a/bpf_progs/block.c +++ b/bpf_progs/block.c @@ -20,7 +20,7 @@ #include // The resulting .o needs to load on Android T+ -#define BPFLOADER_MIN_VER BPFLOADER_T_VERSION +#define BPFLOADER_MIN_VER BPFLOADER_MAINLINE_T_VERSION #include "bpf_helpers.h" diff --git a/bpf_progs/clatd.c b/bpf_progs/clatd.c index 9e0d4c4903..f83e5ae746 100644 --- a/bpf_progs/clatd.c +++ b/bpf_progs/clatd.c @@ -31,7 +31,7 @@ #include // The resulting .o needs to load on Android T+ -#define BPFLOADER_MIN_VER BPFLOADER_T_VERSION +#define BPFLOADER_MIN_VER BPFLOADER_MAINLINE_T_VERSION #include "bpf_helpers.h" #include "bpf_net_helpers.h" diff --git a/bpf_progs/dscpPolicy.c b/bpf_progs/dscpPolicy.c index 1739c37a33..ed114e4fbd 100644 --- a/bpf_progs/dscpPolicy.c +++ b/bpf_progs/dscpPolicy.c @@ -28,7 +28,7 @@ #include // The resulting .o needs to load on Android T+ -#define BPFLOADER_MIN_VER BPFLOADER_T_VERSION +#define BPFLOADER_MIN_VER BPFLOADER_MAINLINE_T_VERSION #include "bpf_helpers.h" #include "dscpPolicy.h" diff --git a/bpf_progs/netd.c b/bpf_progs/netd.c index 5a8f76f405..b3cde45422 100644 --- a/bpf_progs/netd.c +++ b/bpf_progs/netd.c @@ -15,7 +15,7 @@ */ // The resulting .o needs to load on Android T+ -#define BPFLOADER_MIN_VER BPFLOADER_T_VERSION +#define BPFLOADER_MIN_VER BPFLOADER_MAINLINE_T_VERSION #include #include @@ -106,13 +106,13 @@ DEFINE_BPF_MAP_NO_NETD(iface_index_name_map, HASH, uint32_t, IfaceValue, IFACE_I // A single-element configuration array, packet tracing is enabled when 'true'. DEFINE_BPF_MAP_EXT(packet_trace_enabled_map, ARRAY, uint32_t, bool, 1, AID_ROOT, AID_SYSTEM, 0060, "fs_bpf_net_shared", "", PRIVATE, - BPFLOADER_U_VERSION, BPFLOADER_MAX_VER, LOAD_ON_ENG, + BPFLOADER_MAINLINE_U_VERSION, BPFLOADER_MAX_VER, LOAD_ON_ENG, LOAD_ON_USER, LOAD_ON_USERDEBUG) // A ring buffer on which packet information is pushed. DEFINE_BPF_RINGBUF_EXT(packet_trace_ringbuf, PacketTrace, PACKET_TRACE_BUF_SIZE, AID_ROOT, AID_SYSTEM, 0060, "fs_bpf_net_shared", "", PRIVATE, - BPFLOADER_U_VERSION, BPFLOADER_MAX_VER, LOAD_ON_ENG, + BPFLOADER_MAINLINE_U_VERSION, BPFLOADER_MAX_VER, LOAD_ON_ENG, LOAD_ON_USER, LOAD_ON_USERDEBUG); DEFINE_BPF_MAP_RO_NETD(data_saver_enabled_map, ARRAY, uint32_t, bool, @@ -527,7 +527,7 @@ static __always_inline inline int bpf_traffic_account(struct __sk_buff* skb, // This program is optional, and enables tracing on Android U+, 5.8+ on user builds. DEFINE_BPF_PROG_EXT("cgroupskb/ingress/stats$trace_user", AID_ROOT, AID_SYSTEM, bpf_cgroup_ingress_trace_user, KVER_5_8, KVER_INF, - BPFLOADER_U_VERSION, BPFLOADER_MAX_VER, OPTIONAL, + BPFLOADER_MAINLINE_U_VERSION, BPFLOADER_MAX_VER, OPTIONAL, "fs_bpf_netd_readonly", "", IGNORE_ON_ENG, LOAD_ON_USER, IGNORE_ON_USERDEBUG) (struct __sk_buff* skb) { @@ -537,7 +537,7 @@ DEFINE_BPF_PROG_EXT("cgroupskb/ingress/stats$trace_user", AID_ROOT, AID_SYSTEM, // This program is required, and enables tracing on Android U+, 5.8+, userdebug/eng. DEFINE_BPF_PROG_EXT("cgroupskb/ingress/stats$trace", AID_ROOT, AID_SYSTEM, bpf_cgroup_ingress_trace, KVER_5_8, KVER_INF, - BPFLOADER_U_VERSION, BPFLOADER_MAX_VER, MANDATORY, + BPFLOADER_MAINLINE_U_VERSION, BPFLOADER_MAX_VER, MANDATORY, "fs_bpf_netd_readonly", "", LOAD_ON_ENG, IGNORE_ON_USER, LOAD_ON_USERDEBUG) (struct __sk_buff* skb) { @@ -559,7 +559,7 @@ DEFINE_NETD_BPF_PROG_KVER_RANGE("cgroupskb/ingress/stats$4_14", AID_ROOT, AID_SY // This program is optional, and enables tracing on Android U+, 5.8+ on user builds. DEFINE_BPF_PROG_EXT("cgroupskb/egress/stats$trace_user", AID_ROOT, AID_SYSTEM, bpf_cgroup_egress_trace_user, KVER_5_8, KVER_INF, - BPFLOADER_U_VERSION, BPFLOADER_MAX_VER, OPTIONAL, + BPFLOADER_MAINLINE_U_VERSION, BPFLOADER_MAX_VER, OPTIONAL, "fs_bpf_netd_readonly", "", IGNORE_ON_ENG, LOAD_ON_USER, IGNORE_ON_USERDEBUG) (struct __sk_buff* skb) { @@ -569,7 +569,7 @@ DEFINE_BPF_PROG_EXT("cgroupskb/egress/stats$trace_user", AID_ROOT, AID_SYSTEM, // This program is required, and enables tracing on Android U+, 5.8+, userdebug/eng. DEFINE_BPF_PROG_EXT("cgroupskb/egress/stats$trace", AID_ROOT, AID_SYSTEM, bpf_cgroup_egress_trace, KVER_5_8, KVER_INF, - BPFLOADER_U_VERSION, BPFLOADER_MAX_VER, MANDATORY, + BPFLOADER_MAINLINE_U_VERSION, BPFLOADER_MAX_VER, MANDATORY, "fs_bpf_netd_readonly", "", LOAD_ON_ENG, IGNORE_ON_USER, LOAD_ON_USERDEBUG) (struct __sk_buff* skb) { diff --git a/bpf_progs/offload.c b/bpf_progs/offload.c index 8c3011bdd3..4f152bf6c3 100644 --- a/bpf_progs/offload.c +++ b/bpf_progs/offload.c @@ -28,11 +28,11 @@ // BTF is incompatible with bpfloaders < v0.10, hence for S (v0.2) we must // ship a different file than for later versions, but we need bpfloader v0.25+ // for obj@ver.o support -#define BPFLOADER_MIN_VER BPFLOADER_OBJ_AT_VER_VERSION +#define BPFLOADER_MIN_VER BPFLOADER_MAINLINE_T_VERSION #else /* MAINLINE */ -// The resulting .o needs to load on the Android S & T bpfloaders +// The resulting .o needs to load on the Android S bpfloader #define BPFLOADER_MIN_VER BPFLOADER_S_VERSION -#define BPFLOADER_MAX_VER BPFLOADER_OBJ_AT_VER_VERSION +#define BPFLOADER_MAX_VER BPFLOADER_T_VERSION #endif /* MAINLINE */ // Warning: values other than AID_ROOT don't work for map uid on BpfLoader < v0.21 diff --git a/bpf_progs/test.c b/bpf_progs/test.c index ba059d5445..6a4471cb98 100644 --- a/bpf_progs/test.c +++ b/bpf_progs/test.c @@ -22,11 +22,11 @@ // BTF is incompatible with bpfloaders < v0.10, hence for S (v0.2) we must // ship a different file than for later versions, but we need bpfloader v0.25+ // for obj@ver.o support -#define BPFLOADER_MIN_VER BPFLOADER_OBJ_AT_VER_VERSION +#define BPFLOADER_MIN_VER BPFLOADER_MAINLINE_T_VERSION #else /* MAINLINE */ -// The resulting .o needs to load on the Android S & T bpfloaders +// The resulting .o needs to load on the Android S bpfloader #define BPFLOADER_MIN_VER BPFLOADER_S_VERSION -#define BPFLOADER_MAX_VER BPFLOADER_OBJ_AT_VER_VERSION +#define BPFLOADER_MAX_VER BPFLOADER_T_VERSION #endif /* MAINLINE */ // Warning: values other than AID_ROOT don't work for map uid on BpfLoader < v0.21 diff --git a/netd/BpfHandler.cpp b/netd/BpfHandler.cpp index 80f5869488..4779b47833 100644 --- a/netd/BpfHandler.cpp +++ b/netd/BpfHandler.cpp @@ -215,7 +215,7 @@ Status BpfHandler::init(const char* cg2_path) { android::bpf::waitForProgsLoaded(); } - if (false && !mainlineNetBpfLoadDone()) { + if (!mainlineNetBpfLoadDone()) { // We're on < U QPR3 & it's the first time netd is starting up (unless crashlooping) // // On U QPR3+ netbpfload is guaranteed to run before the platform bpfloader,