android_kernel_motorola_sm6375/net/ipv4
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Martin KaFai Lau 4cbcd7d560
UPSTREAM: bpf: tcp: Add bpf_skops_established()
In tcp_init_transfer(), it currently calls the bpf prog to give it a
chance to handle the just "ESTABLISHED" event (e.g. do setsockopt
on the newly established sk).  Right now, it is done by calling the
general purpose tcp_call_bpf().

In the later patch, it also needs to pass the just-received skb which
concludes the 3 way handshake. E.g. the SYNACK received at the active side.
The bpf prog can then learn some specific header options written by the
peer's bpf-prog and potentially do setsockopt on the newly established sk.
Thus, instead of reusing the general purpose tcp_call_bpf(), a new function
bpf_skops_established() is added to allow passing the "skb" to the bpf
prog.  The actual skb passing from bpf_skops_established() to the bpf prog
will happen together in a later patch which has the necessary bpf pieces.

A "skb" arg is also added to tcp_init_transfer() such that
it can then be passed to bpf_skops_established().

Calling the new bpf_skops_established() instead of tcp_call_bpf()
should be a noop in this patch.

Change-Id: I9347e4608ca3c5d6927f7116cad9948c05227b3f
Signed-off-by: Martin KaFai Lau <kafai@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: John Fastabend <john.fastabend@gmail.com>
Link: https://lore.kernel.org/bpf/20200820190039.2884750-1-kafai@fb.com
2026-01-14 18:12:17 -08:00
..
bpfilter UPSTREAM: umd: Track user space drivers with struct pid 2026-01-14 18:12:15 -08:00
netfilter Revert "netfilter: Replace zero-length array with flexible-array member" 2025-01-14 17:17:17 +00:00
af_inet.c UPSTREAM: bpf: Add BPF_CGROUP_INET_SOCK_RELEASE hook 2026-01-14 18:12:01 -08:00
ah4.c
arp.c This is the 5.4.291 stable release 2025-03-13 14:53:52 +00:00
bpf_tcp_ca.c UPSTREAM: bpf: Sanitize the bpf_struct_ops tcp-cc name 2025-12-23 13:36:07 -08:00
cipso_ipv4.c cipso: fix total option length computation 2024-07-05 09:08:22 +02:00
datagram.c
devinet.c BACKPORT: sysctl: pass kernel pointers to ->proc_handler 2025-12-23 13:36:15 -08:00
esp4.c net: ipv4: fix return value check in esp_remove_trailer 2023-10-25 11:53:21 +02:00
esp4_offload.c xfrm: Linearize the skb after offloading if needed. 2023-06-28 10:18:38 +02:00
fib_frontend.c ipv4: Mask upper DSCP bits and ECN bits in NETLINK_FIB_LOOKUP family 2024-11-08 16:20:37 +01:00
fib_lookup.h
fib_notifier.c
fib_rules.c ip: fib_rules: Fetch net from fib_rule in fib[46]_rule_configure(). 2025-06-04 14:32:34 +02:00
fib_semantics.c ipv4: fib: annotate races around nh->nh_saddr_genid and nh->nh_saddr 2023-10-25 11:53:21 +02:00
fib_trie.c ipv4: annotate data-races around fi->fib_dead 2023-09-23 10:59:58 +02:00
fou.c
gre_demux.c
gre_offload.c
icmp.c icmp: fix icmp_ndo_send address translation for reply direction 2025-09-09 18:43:57 +02:00
igmp.c UPSTREAM: ipv4: igmp: fix refcnt uaf issue when receiving igmp query packet 2023-12-21 11:28:11 +00:00
inet_connection_sock.c Merge tag 'android11-5.4.293_r00' into android11-5.4 2025-05-26 03:40:18 -07:00
inet_diag.c inet_diag: Initialize pad field in struct inet_diag_req_v2 2024-07-18 11:40:50 +02:00
inet_fragment.c Revert "inet: inet_defrag: prevent sk release while still in use" 2024-11-09 14:30:42 +00:00
inet_hashtables.c net: set SOCK_RCU_FREE before inserting socket into hashtable 2024-09-12 11:03:50 +02:00
inet_timewait_sock.c tcp: Fix NEW_SYN_RECV handling in inet_twsk_purge() 2024-05-02 16:18:37 +02:00
inetpeer.c
ip_forward.c
ip_fragment.c Revert "inet: inet_defrag: prevent sk release while still in use" 2024-11-09 14:30:42 +00:00
ip_gre.c ipv4: ip_gre: Fix drops of small packets in ipgre_xmit 2024-11-08 16:20:36 +01:00
ip_input.c BACKPORT: bpf: Add socket assign support 2025-12-23 13:36:11 -08:00
ip_options.c
ip_output.c net: ipv4: fix a memleak in ip_setup_cork 2024-02-23 08:25:05 +01:00
ip_sockglue.c ipv{4,6}/raw: fix output xfrm lookup wrt protocol 2023-06-05 08:17:33 +02:00
ip_tunnel.c This is the 5.4.301 stable release 2025-10-30 07:52:10 +00:00
ip_tunnel_core.c UPSTREAM: net: ip_tunnel: add header_ops for layer 3 devices 2025-09-24 12:16:37 +02:00
ip_vti.c ip_vti: fix potential slab-use-after-free in decode_session6 2023-08-30 16:27:16 +02:00
ipcomp.c
ipconfig.c
ipip.c
ipmr.c ipmr: fix tables suspicious RCU usage 2024-12-14 19:44:34 +01:00
ipmr_base.c ipmr: do not call mr_mfc_uses_dev() for unres entries 2025-03-13 12:42:59 +01:00
Kconfig
Makefile BACKPORT: udp_tunnel: add central NIC RX port offload infrastructure 2026-01-14 18:12:10 -08:00
metrics.c
netfilter.c
netlink.c
nexthop.c This is the 5.4.302 stable release 2025-12-03 14:36:44 +00:00
ping.c
proc.c
protocol.c
raw.c ipv{4,6}/raw: fix output xfrm lookup wrt protocol 2023-06-05 08:17:33 +02:00
raw_diag.c
route.c BACKPORT: sysctl: pass kernel pointers to ->proc_handler 2025-12-23 13:36:15 -08:00
syncookies.c tcp: fix cookie_init_timestamp() overflows 2023-11-20 10:30:10 +01:00
sysctl_net_ipv4.c BACKPORT: sysctl: pass kernel pointers to ->proc_handler 2025-12-23 13:36:15 -08:00
tcp.c UPSTREAM: tcp: bpf: Add TCP_BPF_RTO_MIN for bpf_setsockopt 2026-01-14 18:12:17 -08:00
tcp_bbr.c
tcp_bic.c
tcp_bpf.c BACKPORT: bpf: sockmap: Move generic sockmap hooks from BPF TCP 2025-12-23 13:36:03 -08:00
tcp_cdg.c
tcp_cong.c UPSTREAM: bpf: tcp: Support tcp_congestion_ops in bpf 2025-12-23 13:35:51 -08:00
tcp_cubic.c
tcp_dctcp.c tcp: Fix shift-out-of-bounds in dctcp_update_alpha(). 2024-06-16 13:28:45 +02:00
tcp_dctcp.h
tcp_diag.c net: annotate lockless accesses to sk->sk_max_ack_backlog 2024-11-08 16:20:46 +01:00
tcp_fastopen.c UPSTREAM: bpf: tcp: Add bpf_skops_established() 2026-01-14 18:12:17 -08:00
tcp_highspeed.c
tcp_htcp.c
tcp_hybla.c
tcp_illinois.c
tcp_input.c UPSTREAM: bpf: tcp: Add bpf_skops_established() 2026-01-14 18:12:17 -08:00
tcp_ipv4.c UPSTREAM: bpf: Refactor to provide aux info to bpf_iter_init_seq_priv_t 2026-01-14 18:12:07 -08:00
tcp_lp.c
tcp_metrics.c tcp_metrics: validate source addr length 2024-07-18 11:40:50 +02:00
tcp_minisocks.c UPSTREAM: tcp_bpf: Don't let child socket inherit parent protocol ops on copy 2025-12-23 13:36:03 -08:00
tcp_nv.c
tcp_offload.c net-timestamp: support TCP GSO case for a few missing flags 2025-03-13 12:43:30 +01:00
tcp_output.c UPSTREAM: tcp: bpf: Add TCP_BPF_DELACK_MAX setsockopt 2026-01-14 18:12:17 -08:00
tcp_rate.c
tcp_recovery.c tcp: fix excessive TLP and RACK timeouts from HZ rounding 2023-10-25 11:53:21 +02:00
tcp_scalable.c
tcp_timer.c Merge branch 'android11-5.4-lts' of https://android.googlesource.com/kernel/common into android13-5.4-lahaina 2024-08-05 21:50:23 +03:00
tcp_ulp.c UPSTREAM: net, sk_msg: Annotate lockless access to sk_prot on clone 2025-12-23 13:36:03 -08:00
tcp_vegas.c
tcp_vegas.h
tcp_veno.c
tcp_westwood.c
tcp_yeah.c
tunnel4.c
udp.c UPSTREAM: bpf: Refactor to provide aux info to bpf_iter_init_seq_priv_t 2026-01-14 18:12:07 -08:00
udp_diag.c
udp_impl.h
udp_offload.c This is the 5.4.297 stable release 2025-09-02 10:52:40 +00:00
udp_tunnel_core.c BACKPORT: udp_tunnel: add central NIC RX port offload infrastructure 2026-01-14 18:12:10 -08:00
udp_tunnel_nic.c BACKPORT: udp_tunnel: add central NIC RX port offload infrastructure 2026-01-14 18:12:10 -08:00
udp_tunnel_stub.c BACKPORT: udp_tunnel: add central NIC RX port offload infrastructure 2026-01-14 18:12:10 -08:00
udplite.c udplite: Fix NULL pointer dereference in __sk_mem_raise_allocated(). 2023-05-30 12:44:09 +01:00
xfrm4_input.c xfrm: Preserve vlan tags for transport mode software GRO 2024-05-17 11:43:53 +02:00
xfrm4_output.c
xfrm4_policy.c
xfrm4_protocol.c
xfrm4_state.c
xfrm4_tunnel.c