1
0
Fork 0
mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-01-24 17:23:25 -05:00
linux/net/core
Jakub Kicinski e34a07c0ae sock: redo the psock vs ULP protection check
Commit 8a59f9d1e3 ("sock: Introduce sk->sk_prot->psock_update_sk_prot()")
has moved the inet_csk_has_ulp(sk) check from sk_psock_init() to
the new tcp_bpf_update_proto() function. I'm guessing that this
was done to allow creating psocks for non-inet sockets.

Unfortunately the destruction path for psock includes the ULP
unwind, so we need to fail the sk_psock_init() itself.
Otherwise if ULP is already present we'll notice that later,
and call tcp_update_ulp() with the sk_proto of the ULP
itself, which will most likely result in the ULP looping
its callbacks.

Fixes: 8a59f9d1e3 ("sock: Introduce sk->sk_prot->psock_update_sk_prot()")
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Reviewed-by: John Fastabend <john.fastabend@gmail.com>
Reviewed-by: Jakub Sitnicki <jakub@cloudflare.com>
Tested-by: Jakub Sitnicki <jakub@cloudflare.com>
Link: https://lore.kernel.org/r/20220620191353.1184629-2-kuba@kernel.org
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2022-06-23 10:08:30 +02:00
..
bpf_sk_storage.c bpf: Compute map_btf_id during build time 2022-04-26 11:35:21 -07:00
datagram.c net: inline skb_zerocopy_iter_dgram 2022-04-30 12:58:44 +01:00
dev.c net: fix data-race in dev_isalive() 2022-06-17 10:59:31 +01:00
dev.h net: add skb_defer_max sysctl 2022-05-16 11:33:59 +01:00
dev_addr_lists.c
dev_addr_lists_test.c
dev_ioctl.c
devlink.c Revert "Merge branch 'mlxsw-line-card-model'" 2022-05-05 15:47:23 -07:00
drop_monitor.c net: dm: check the boundary of skb drop reasons 2022-05-16 10:47:43 +01:00
dst.c
dst_cache.c
failover.c
fib_notifier.c
fib_rules.c
filter.c bpf: Fix request_sock leak in sk lookup helpers 2022-06-15 16:10:07 +02:00
flow_dissector.c
flow_offload.c netfilter: nf_tables: bail out early if hardware offload is not supported 2022-06-06 19:19:15 +02:00
gen_estimator.c
gen_stats.c
gro.c net: allow gro_max_size to exceed 65536 2022-05-16 10:18:56 +01:00
gro_cells.c
hwbm.c
link_watch.c
lwt_bpf.c bpf, lwt: Fix crash when using bpf_skb_set_tunnel_key() from bpf_xmit lwt hook 2022-04-22 17:45:25 +02:00
lwtunnel.c
Makefile
neighbour.c net, neigh: Set lower cap for neigh_managed_work rearming 2022-05-25 22:00:48 -07:00
net-procfs.c
net-sysfs.c net: fix data-race in dev_isalive() 2022-06-17 10:59:31 +01:00
net-sysfs.h
net-traces.c
net_namespace.c
netclassid_cgroup.c
netevent.c
netpoll.c
netprio_cgroup.c
of_net.c
page_pool.c net: page_pool: add page allocation stats for two fast page allocate path 2022-05-13 11:28:55 +01:00
pktgen.c
ptp_classifier.c
request_sock.c
rtnetlink.c net: allow gro_max_size to exceed 65536 2022-05-16 10:18:56 +01:00
scm.c
secure_seq.c tcp: resalt the secret every 10 seconds 2022-05-04 19:22:21 -07:00
selftests.c
skbuff.c net: avoid strange behavior with skb_defer_max == 1 2022-05-20 17:05:36 -07:00
skmsg.c sock: redo the psock vs ULP protection check 2022-06-23 10:08:30 +02:00
sock.c net: core: add READ_ONCE/WRITE_ONCE annotations for sk->sk_bound_dev_if 2022-05-16 10:31:06 +01:00
sock_destructor.h
sock_diag.c
sock_map.c bpf: Compute map_btf_id during build time 2022-04-26 11:35:21 -07:00
sock_reuseport.c
stream.c
sysctl_net_core.c Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2022-05-23 16:07:14 -07:00
timestamping.c
tso.c
utils.c
xdp.c