From: Jakub Sitnicki Date: Mon, 17 Feb 2020 12:15:28 +0000 (+0000) Subject: bpf, sk_msg: Let ULP restore sk_proto and write_space callback X-Git-Tag: v5.15~4200^2~372^2~8^2~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a4393861a351f66fef1102e775743c86a276afce;p=platform%2Fkernel%2Flinux-starfive.git bpf, sk_msg: Let ULP restore sk_proto and write_space callback We don't need a fallback for when the socket is not using ULP. tcp_update_ulp handles this case exactly the same as we do in sk_psock_restore_proto. Get rid of the duplicated code. Signed-off-by: Jakub Sitnicki Signed-off-by: Daniel Borkmann Acked-by: John Fastabend Link: https://lore.kernel.org/bpf/20200217121530.754315-2-jakub@cloudflare.com --- diff --git a/include/linux/skmsg.h b/include/linux/skmsg.h index 14d61bba..8605947 100644 --- a/include/linux/skmsg.h +++ b/include/linux/skmsg.h @@ -361,16 +361,7 @@ static inline void sk_psock_restore_proto(struct sock *sk, sk->sk_prot->unhash = psock->saved_unhash; if (psock->sk_proto) { - struct inet_connection_sock *icsk = inet_csk(sk); - bool has_ulp = !!icsk->icsk_ulp_data; - - if (has_ulp) { - tcp_update_ulp(sk, psock->sk_proto, - psock->saved_write_space); - } else { - sk->sk_prot = psock->sk_proto; - sk->sk_write_space = psock->saved_write_space; - } + tcp_update_ulp(sk, psock->sk_proto, psock->saved_write_space); psock->sk_proto = NULL; } else { sk->sk_write_space = psock->saved_write_space;