android_kernel_motorola_sm6375/net/sched
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Joe Stringer 9974c2cee8
BACKPORT: bpf: Add socket assign support
Add support for TPROXY via a new bpf helper, bpf_sk_assign().

This helper requires the BPF program to discover the socket via a call
to bpf_sk*_lookup_*(), then pass this socket to the new helper. The
helper takes its own reference to the socket in addition to any existing
reference that may or may not currently be obtained for the duration of
BPF processing. For the destination socket to receive the traffic, the
traffic must be routed towards that socket via local route. The
simplest example route is below, but in practice you may want to route
traffic more narrowly (eg by CIDR):

  $ ip route add local default dev lo

This patch avoids trying to introduce an extra bit into the skb->sk, as
that would require more invasive changes to all code interacting with
the socket to ensure that the bit is handled correctly, such as all
error-handling cases along the path from the helper in BPF through to
the orphan path in the input. Instead, we opt to use the destructor
variable to switch on the prefetch of the socket.

Change-Id: I66c9fce30fea682d2acaa741a6bbd46857083ed2
Signed-off-by: Joe Stringer <joe@wand.net.nz>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Martin KaFai Lau <kafai@fb.com>
Link: https://lore.kernel.org/bpf/20200329225342.16317-2-joe@wand.net.nz
2025-12-23 13:36:11 -08:00
..
act_api.c net: sched: extract common action counters update code into function 2025-08-28 16:21:36 +02:00
act_bpf.c BACKPORT: bpf: Add socket assign support 2025-12-23 13:36:11 -08:00
act_connmark.c
act_csum.c net: sched: extract qstats update code into functions 2025-08-28 16:21:36 +02:00
act_ct.c net: sched: extract qstats update code into functions 2025-08-28 16:21:36 +02:00
act_ctinfo.c
act_gact.c net: sched: extract qstats update code into functions 2025-08-28 16:21:36 +02:00
act_ife.c net: sched: act_ife: initialize struct tc_ife to fix KMSAN kernel-infoleak 2025-12-03 12:45:17 +01:00
act_ipt.c
act_meta_mark.c
act_meta_skbprio.c
act_meta_skbtcindex.c
act_mirred.c act_mirred: use the backlog for nested calls to mirred ingress 2025-08-28 16:21:36 +02:00
act_mpls.c
act_nat.c
act_pedit.c
act_police.c net: sched: extract common action counters update code into function 2025-08-28 16:21:36 +02:00
act_sample.c
act_simple.c
act_skbedit.c
act_skbmod.c
act_tunnel_key.c net: sched: extract bstats update code into function 2025-08-28 16:21:36 +02:00
act_vlan.c Merge tag 'ASB-2025-10-06_11-5.4' of https://android.googlesource.com/kernel/common into android13-5.4-lahaina 2025-10-08 15:17:54 +03:00
cls_api.c
cls_basic.c
cls_bpf.c
cls_cgroup.c
cls_flow.c net_sched: cls_flow: validate TCA_FLOW_RSHIFT attribute 2025-02-01 18:18:45 +01:00
cls_flower.c net: extract port range fields from fl_flow_key 2025-03-13 12:43:23 +01:00
cls_fw.c
cls_matchall.c
cls_route.c
cls_u32.c
em_canid.c
em_cmp.c
em_ipset.c
em_ipt.c
em_meta.c net: annotate lockless accesses to sk->sk_max_ack_backlog 2024-11-08 16:20:46 +01:00
em_nbyte.c
em_text.c
em_u32.c
ematch.c
Kconfig
Makefile
sch_api.c net/sched: sch_qfq: Fix null-deref in agg_dequeue 2025-12-03 12:45:04 +01:00
sch_blackhole.c
sch_cake.c net/sched: Make cake_enqueue return NET_XMIT_CN when past buffer_limit 2025-08-28 16:21:37 +02:00
sch_cbs.c net/sched: cbs: Fix integer overflow in cbs_set_port_rate() 2024-12-14 19:44:51 +01:00
sch_choke.c net: sched: fix ordering of qlen adjustment 2025-01-09 13:23:26 +01:00
sch_codel.c codel: remove sch->q.qlen check before qdisc_tree_reduce_backlog() 2025-08-28 16:21:36 +02:00
sch_drr.c sch_drr: make drr_qlen_notify() idempotent 2025-08-28 16:21:35 +02:00
sch_etf.c
sch_fifo.c UPSTREAM: pfifo_tail_enqueue: Drop new packet when sch->limit == 0 2025-03-17 09:26:04 +00:00
sch_fq.c
sch_fq_codel.c codel: remove sch->q.qlen check before qdisc_tree_reduce_backlog() 2025-08-28 16:21:36 +02:00
sch_generic.c This is the 5.4.302 stable release 2025-12-03 14:36:44 +00:00
sch_gred.c
sch_hfsc.c net/sched: sch_qfq: Fix null-deref in agg_dequeue 2025-12-03 12:45:04 +01:00
sch_hhf.c
sch_htb.c net/sched: Remove unnecessary WARNING condition for empty child qdisc in htb_activate 2025-08-28 16:21:37 +02:00
sch_ingress.c
sch_mq.c
sch_mqprio.c
sch_multiq.c
sch_netem.c net/sched: Restrict conditions for adding duplicating netems to qdisc tree 2025-08-28 16:21:19 +02:00
sch_pie.c
sch_plug.c
sch_prio.c net_sched: prio: fix a race in prio_tune() 2025-06-27 11:02:49 +01:00
sch_qfq.c net/sched: sch_qfq: Fix null-deref in agg_dequeue 2025-12-03 12:45:04 +01:00
sch_red.c net_sched: red: fix a race in __red_change() 2025-06-27 11:02:50 +01:00
sch_sfb.c
sch_sfq.c net_sched: sch_sfq: reject invalid perturb period 2025-08-28 16:21:17 +02:00
sch_skbprio.c net_sched: skbprio: Remove overly strict queue assertions 2025-04-10 14:29:43 +02:00
sch_taprio.c net: sched: fix use-after-free in taprio_change() 2024-11-08 16:20:51 +01:00
sch_tbf.c net_sched: tbf: fix a race in tbf_change() 2025-06-27 11:02:50 +01:00
sch_teql.c