Messages in this thread | | | Date | Thu, 12 Oct 2023 00:37:37 +0530 | Subject | Re: [PATCH] Remove extra unlock for the mutex | From | Abhinav Singh <> |
| |
On 10/11/23 23:13, Eric Dumazet wrote: > > There is no undefined behavior, only sparse that might be confused a little. > > I do not think we can express in sparse the fact that > inet_csk_find_open_port() acquires head->lock > > (head being the return value of this function...) > > The following does not help. > > diff --git a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c > index aeebe881668996057d1495c84eee0f0b644b7ad0..ed7b3993316cd1ba0b2859b0bd3f447e066bd3b5 > 100644 > --- a/net/ipv4/inet_connection_sock.c > +++ b/net/ipv4/inet_connection_sock.c > @@ -323,6 +323,7 @@ static struct inet_bind_hashbucket * > inet_csk_find_open_port(const struct sock *sk, struct > inet_bind_bucket **tb_ret, > struct inet_bind2_bucket **tb2_ret, > struct inet_bind_hashbucket **head2_ret, int *port_ret) > + __acquires(head->lock) > { > struct inet_hashinfo *hinfo = tcp_or_dccp_get_hashinfo(sk); > int i, low, high, attempt_half, port, l3mdev;
Okay got it. Thank you for your time maintainers.And apologizes for not thoroughly checking before sending the patch. I have a question, there were some type checking warning as well from sparse tool. Can a create patch for fixing those type checking warning?
| |