On 07/28/2016 10:07 AM, Wei Yongjun wrote:
> In the error handling case of nla_nest_start() failed read_unlock_bh()
> is called  to unlock a lock that had not been taken yet. sparse warns
> about the context imbalance as the following:
> 
> net/tipc/monitor.c:799:23: warning:
>  context imbalance in '__tipc_nl_add_monitor' - different lock contexts for 
> basic block
> 
> Fixes: cf6f7e1d5109 ('tipc: dump monitor attributes')
> Signed-off-by: Wei Yongjun <weiyj...@gmail.com>

Acked-by: Ying Xue <ying....@windriver.com>

> ---
>  net/tipc/monitor.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/net/tipc/monitor.c b/net/tipc/monitor.c
> index be70a57..b62caa1 100644
> --- a/net/tipc/monitor.c
> +++ b/net/tipc/monitor.c
> @@ -794,10 +794,10 @@ int __tipc_nl_add_monitor(struct net *net, struct 
> tipc_nl_msg *msg,
>       return 0;
>  
>  attr_msg_full:
> +     read_unlock_bh(&mon->lock);
>       nla_nest_cancel(msg->skb, attrs);
>  msg_full:
>       genlmsg_cancel(msg->skb, hdr);
> -     read_unlock_bh(&mon->lock);
>  
>       return -EMSGSIZE;
>  }
> 
> 

Reply via email to