Files
Linux/include/net
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 <[email protected]>
Reviewed-by: John Fastabend <[email protected]>
Reviewed-by: Jakub Sitnicki <[email protected]>
Tested-by: Jakub Sitnicki <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Abeni <[email protected]>
2022-06-23 10:08:30 +02:00
..
2022-01-10 10:00:09 +09:00
…
…
…
2022-05-25 21:36:16 -07:00
…
2022-06-02 10:37:57 +02:00
…
…
…
2021-10-13 09:40:46 -07:00
…
…
…
…
2021-10-13 09:40:46 -07:00
…
…
…
…
2021-12-16 07:18:35 -08:00
…
…
…
…
…
…
…
…
…
…
…
2021-10-15 11:33:08 +01:00
2021-11-19 20:09:55 -08:00
…
…
…
…
…
2021-10-13 09:40:46 -07:00
…
…
…
…
…
…
…
…
2022-05-11 12:43:10 +01:00
…
…
…
…
…
…
…
…
…
…
…
2021-10-13 09:40:45 -07:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…