Thread (23 messages) flat view 23 messages, 8 authors, 2020-03-27

Re: [PATCH 3/8] tcp: Add missing annotation for tcp_child_process()

From: Jules Irenge <hidden>
Date: 2020-03-11 01:29:00
Also in: bpf, lkml

Thanks for the feedbacks. Good to know I have not used lockdep but I will 
try it.

On Tue, 10 Mar 2020, Eric Dumazet wrote:
On Tue, Mar 10, 2020 at 6:09 PM Jules Irenge [off-list ref] wrote:
quoted
Sparse reports warning at tcp_child_process()
warning: context imbalance in tcp_child_process() - unexpected unlock
The root cause is the missing annotation at tcp_child_process()

Add the missing __releases(&((child)->sk_lock.slock)) annotation

Signed-off-by: Jules Irenge <redacted>
---
 net/ipv4/tcp_minisocks.c | 1 +
 1 file changed, 1 insertion(+)
diff --git a/net/ipv4/tcp_minisocks.c b/net/ipv4/tcp_minisocks.c
index ad3b56d9fa71..0e8a5b6e477c 100644
--- a/net/ipv4/tcp_minisocks.c
+++ b/net/ipv4/tcp_minisocks.c
@@ -817,6 +817,7 @@ EXPORT_SYMBOL(tcp_check_req);

 int tcp_child_process(struct sock *parent, struct sock *child,
                      struct sk_buff *skb)
+       __releases(&((child)->sk_lock.slock))
 {
        int ret = 0;
        int state = child->sk_state;

Yeah, although we prefer to use lockdep these days ;)

Reviewed-by: Eric Dumazet <edumazet@google.com>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help