Re: [PATCH] net: inet: diag: Fix an error handling

From: Christophe JAILLET
Date: Mon Sep 12 2016 - 14:21:09 EST


Le 12/09/2016 à 16:35, David Ahern a écrit :
On 9/12/16 12:02 AM, Christophe JAILLET wrote:
diff --git a/net/ipv4/inet_diag.c b/net/ipv4/inet_diag.c
index abfbe492ebfe..795af25cf84c 100644
--- a/net/ipv4/inet_diag.c
+++ b/net/ipv4/inet_diag.c
@@ -1134,7 +1134,6 @@ int inet_diag_handler_get_info(struct sk_buff *skb, struct sock *sk)
handler = inet_diag_lock_handler(sk->sk_protocol);
if (IS_ERR(handler)) {
- inet_diag_unlock_handler(handler);
nlmsg_cancel(skb, nlh);
return PTR_ERR(handler);
}

That call is needed. inet_diag_unlock_handler does not operate on the input arg but a global mutex. Perhaps a better patch is to change inet_diag_unlock_handler() to a void.
This is obvious. Sorry for the noise.

CJ