diff --git a/bpf/progs/clatd.c b/bpf/progs/clatd.c index 1ed9788fdc..8eb09ee8c7 100644 --- a/bpf/progs/clatd.c +++ b/bpf/progs/clatd.c @@ -252,9 +252,9 @@ DEFINE_BPF_PROG_KVER(schedcls, ingress6_clat_ether, 4_14, AID_SYSTEM, KVER_4_14) return nat64(skb, ETHER, KVER_4_14); } -DEFINE_BPF_PROG_KVER_RANGE(schedcls, ingress6_clat_ether, 4_9, AID_SYSTEM, KVER_NONE, KVER_4_14) +DEFINE_BPF_PROG_KVER_RANGE(schedcls, ingress6_clat_ether, 4_9, AID_SYSTEM, KVER_4_9, KVER_4_14) (struct __sk_buff* skb) { - return nat64(skb, ETHER, KVER_NONE); + return nat64(skb, ETHER, KVER_4_9); } DEFINE_BPF_PROG_KVER(schedcls, ingress6_clat_rawip, 4_14, AID_SYSTEM, KVER_4_14) @@ -262,9 +262,9 @@ DEFINE_BPF_PROG_KVER(schedcls, ingress6_clat_rawip, 4_14, AID_SYSTEM, KVER_4_14) return nat64(skb, RAWIP, KVER_4_14); } -DEFINE_BPF_PROG_KVER_RANGE(schedcls, ingress6_clat_rawip, 4_9, AID_SYSTEM, KVER_NONE, KVER_4_14) +DEFINE_BPF_PROG_KVER_RANGE(schedcls, ingress6_clat_rawip, 4_9, AID_SYSTEM, KVER_4_9, KVER_4_14) (struct __sk_buff* skb) { - return nat64(skb, RAWIP, KVER_NONE); + return nat64(skb, RAWIP, KVER_4_9); } DEFINE_BPF_MAP_GRW(clat_egress4_map, HASH, ClatEgress4Key, ClatEgress4Value, 16, AID_SYSTEM) diff --git a/bpf/progs/include/bpf_helpers.h b/bpf/progs/include/bpf_helpers.h index 75da3afbe8..2e7ca6aa84 100644 --- a/bpf/progs/include/bpf_helpers.h +++ b/bpf/progs/include/bpf_helpers.h @@ -61,7 +61,6 @@ struct kver_uint { unsigned int kver; }; #define KVER_(v) ((struct kver_uint){ .kver = (v) }) #define KVER(a, b, c) KVER_(((a) << 24) + ((b) << 16) + (c)) -#define KVER_NONE KVER_(0) #define KVER_4_9 KVER(4, 9, 0) #define KVER_4_14 KVER(4, 14, 0) #define KVER_4_19 KVER(4, 19, 0) @@ -371,7 +370,7 @@ static long (*bpf_sk_storage_delete_unsafe) (const void* sk_storage, selinux, pindir, min_loader, max_loader, mapFlags) \ DEFINE_BPF_MAP_BASE(the_map, TYPE, sizeof(KeyType), sizeof(ValueType), \ num_entries, usr, grp, md, selinux, pindir, \ - KVER_NONE, KVER_INF, min_loader, max_loader, mapFlags); \ + KVER_4_9, KVER_INF, min_loader, max_loader, mapFlags); \ DEFINE_LIBBPF_MAP(the_map, TYPE, KeyType, ValueType, num_entries); \ BPF_MAP_ASSERT_OK(BPF_MAP_TYPE_##TYPE, (num_entries), (md)); \ _Static_assert(sizeof(KeyType) < 1024, "aosp/2370288 requires < 1024 byte keys"); \ @@ -586,8 +585,8 @@ static long (*bpf_trace_printk)(const char* fmt, int fmt_size, ...) = (void*) BP // programs with no kernel version requirements #define DEFINE_BPF_PROG(TYPE, NAME, VER, prog_gid) \ - DEFINE_BPF_PROG_KVER_RANGE_OPT(TYPE, NAME, VER, prog_gid, KVER_NONE, KVER_INF, \ + DEFINE_BPF_PROG_KVER_RANGE_OPT(TYPE, NAME, VER, prog_gid, KVER_4_9, KVER_INF, \ MANDATORY) #define DEFINE_OPTIONAL_BPF_PROG(TYPE, NAME, VER, prog_gid) \ - DEFINE_BPF_PROG_KVER_RANGE_OPT(TYPE, NAME, VER, prog_gid, KVER_NONE, KVER_INF, \ + DEFINE_BPF_PROG_KVER_RANGE_OPT(TYPE, NAME, VER, prog_gid, KVER_4_9, KVER_INF, \ OPTIONAL) diff --git a/bpf/progs/netd.c b/bpf/progs/netd.c index bbf0a7fe4e..8a3eaa3f61 100644 --- a/bpf/progs/netd.c +++ b/bpf/progs/netd.c @@ -131,7 +131,7 @@ DEFINE_BPF_MAP_EXT(local_net_blocked_uid_map, HASH, uint32_t, bool, -1000, DEFINE_NETD_BPF_PROG_KVER_RANGE(TYPE, NAME, VER, min_kv, KVER_INF) #define DEFINE_NETD_BPF_PROG(TYPE, NAME, VER) \ - DEFINE_NETD_BPF_PROG_KVER(TYPE, NAME, VER, KVER_NONE) + DEFINE_NETD_BPF_PROG_KVER(TYPE, NAME, VER, KVER_4_9) #define DEFINE_NETD_V_BPF_PROG_KVER(TYPE, NAME, VER, minKV) \ DEFINE_BPF_PROG_EXT(TYPE, NAME, VER, AID_ROOT, AID_ROOT, minKV, \ @@ -140,7 +140,7 @@ DEFINE_BPF_MAP_EXT(local_net_blocked_uid_map, HASH, uint32_t, bool, -1000, // programs that only need to be usable by the system server #define DEFINE_SYS_BPF_PROG(TYPE, NAME, VER) \ - DEFINE_BPF_PROG_EXT(TYPE, NAME, VER, AID_ROOT, AID_NET_ADMIN, KVER_NONE, KVER_INF, \ + DEFINE_BPF_PROG_EXT(TYPE, NAME, VER, AID_ROOT, AID_NET_ADMIN, KVER_4_9, KVER_INF, \ BPFLOADER_MIN_VER, BPFLOADER_MAX_VER, MANDATORY, \ "net_shared", DEFAULT_BPF_PIN_SUBDIR) @@ -641,9 +641,9 @@ return bpf_traffic_account(skb, INGRESS, KVER_4_19, SDK_LEVEL_T); } // Android T 4.9 & T/U 4.14 -DEFINE_NETD_BPF_PROG_KVER_RANGE(cgroupskb, ingress_stats, 4_9, KVER_NONE, KVER_4_19) +DEFINE_NETD_BPF_PROG_KVER_RANGE(cgroupskb, ingress_stats, 4_9, KVER_4_9, KVER_4_19) (struct __sk_buff* skb) { - return bpf_traffic_account(skb, INGRESS, KVER_NONE, SDK_LEVEL_T); + return bpf_traffic_account(skb, INGRESS, KVER_4_9, SDK_LEVEL_T); } // ----- cgroupskb/egress/stats ----- @@ -682,9 +682,9 @@ return bpf_traffic_account(skb, EGRESS, KVER_4_19, SDK_LEVEL_T); } // Android T 4.9 & T/U 4.14 -DEFINE_NETD_BPF_PROG_KVER_RANGE(cgroupskb, egress_stats, 4_9, KVER_NONE, KVER_4_19) +DEFINE_NETD_BPF_PROG_KVER_RANGE(cgroupskb, egress_stats, 4_9, KVER_4_9, KVER_4_19) (struct __sk_buff* skb) { - return bpf_traffic_account(skb, EGRESS, KVER_NONE, SDK_LEVEL_T); + return bpf_traffic_account(skb, EGRESS, KVER_4_9, SDK_LEVEL_T); } // ----- @@ -704,7 +704,7 @@ DEFINE_XTBPF_PROG(skfilter, egress_xtbpf, ) } uint32_t key = skb->ifindex; - update_iface_stats_map(skb, &key, EGRESS, KVER_NONE); + update_iface_stats_map(skb, &key, EGRESS, KVER_4_9); return XTBPF_MATCH; } @@ -717,7 +717,7 @@ DEFINE_XTBPF_PROG(skfilter, ingress_xtbpf, ) // Keep that in mind when moving this out of iptables xt_bpf and into tc ingress (or xdp). uint32_t key = skb->ifindex; - update_iface_stats_map(skb, &key, INGRESS, KVER_NONE); + update_iface_stats_map(skb, &key, INGRESS, KVER_4_9); return XTBPF_MATCH; } @@ -726,7 +726,7 @@ DEFINE_SYS_BPF_PROG(schedact, ingress_account, ) if (is_received_skb(skb)) { // Account for ingress traffic before tc drops it. uint32_t key = skb->ifindex; - update_iface_stats_map(skb, &key, INGRESS, KVER_NONE); + update_iface_stats_map(skb, &key, INGRESS, KVER_4_9); } return TC_ACT_UNSPEC; } diff --git a/bpf/progs/offload.c b/bpf/progs/offload.c index 883065e5fa..9b6628bfc5 100644 --- a/bpf/progs/offload.c +++ b/bpf/progs/offload.c @@ -269,15 +269,15 @@ DEFINE_BPF_PROG_KVER(schedcls, tether_upstream6_ether, 5_4, AID_NETWORK_STACK, K // implementation for 4.9/4.14/4.19 DEFINE_BPF_PROG_KVER_RANGE(schedcls, tether_downstream6_ether, , AID_NETWORK_STACK, - KVER_NONE, KVER_5_4) + KVER_4_9, KVER_5_4) (struct __sk_buff* skb) { - return do_forward6(skb, ETHER, DOWNSTREAM, KVER_NONE); + return do_forward6(skb, ETHER, DOWNSTREAM, KVER_4_9); } DEFINE_BPF_PROG_KVER_RANGE(schedcls, tether_upstream6_ether, , AID_NETWORK_STACK, - KVER_NONE, KVER_5_4) + KVER_4_9, KVER_5_4) (struct __sk_buff* skb) { - return do_forward6(skb, ETHER, UPSTREAM, KVER_NONE); + return do_forward6(skb, ETHER, UPSTREAM, KVER_4_9); } // Note: section names must be unique to prevent programs from appending to each other, @@ -319,13 +319,13 @@ DEFINE_BPF_PROG_KVER_RANGE(schedcls, tether_upstream6_rawip, 4_14, AID_NETWORK_S // and define no-op stubs for pre-4.14 kernels. DEFINE_BPF_PROG_KVER_RANGE(schedcls, tether_downstream6_rawip, stub, AID_NETWORK_STACK, - KVER_NONE, KVER_4_14) + KVER_4_9, KVER_4_14) (__unused struct __sk_buff* skb) { return TC_ACT_PIPE; } DEFINE_BPF_PROG_KVER_RANGE(schedcls, tether_upstream6_rawip, stub, AID_NETWORK_STACK, - KVER_NONE, KVER_4_14) + KVER_4_9, KVER_4_14) (__unused struct __sk_buff* skb) { return TC_ACT_PIPE; } @@ -774,13 +774,13 @@ DEFINE_BPF_PROG_KVER_RANGE(schedcls, tether_upstream4_ether, 4_14, AID_NETWORK_S // RAWIP: 4.9-P/Q, 4.14-P/Q & 4.19-Q kernels -- without bpf_skb_change_head() for tc programs DEFINE_BPF_PROG_KVER_RANGE(schedcls, tether_downstream4_rawip, stub, AID_NETWORK_STACK, - KVER_NONE, KVER_5_4) + KVER_4_9, KVER_5_4) (__unused struct __sk_buff* skb) { return TC_ACT_PIPE; } DEFINE_BPF_PROG_KVER_RANGE(schedcls, tether_upstream4_rawip, stub, AID_NETWORK_STACK, - KVER_NONE, KVER_5_4) + KVER_4_9, KVER_5_4) (__unused struct __sk_buff* skb) { return TC_ACT_PIPE; } @@ -788,13 +788,13 @@ DEFINE_BPF_PROG_KVER_RANGE(schedcls, tether_upstream4_rawip, stub, AID_NETWORK_S // ETHER: 4.9-P/Q kernel DEFINE_BPF_PROG_KVER_RANGE(schedcls, tether_downstream4_ether, stub, AID_NETWORK_STACK, - KVER_NONE, KVER_4_14) + KVER_4_9, KVER_4_14) (__unused struct __sk_buff* skb) { return TC_ACT_PIPE; } DEFINE_BPF_PROG_KVER_RANGE(schedcls, tether_upstream4_ether, stub, AID_NETWORK_STACK, - KVER_NONE, KVER_4_14) + KVER_4_9, KVER_4_14) (__unused struct __sk_buff* skb) { return TC_ACT_PIPE; }