Message ID | 20201125072626.10861-1-rohitm@chelsio.com |
---|---|
State | New |
Headers | show |
Series | [net,v2] ch_ktls: lock is not freed | expand |
Hello: This patch was applied to netdev/net.git (refs/heads/master): On Wed, 25 Nov 2020 12:56:26 +0530 you wrote: > Currently lock gets freed only if timeout expires, but missed a > case when HW returns failure and goes for cleanup. > > Fixes: efca3878a5fb ("ch_ktls: Issue if connection offload fails") > Signed-off-by: Rohit Maheshwari <rohitm@chelsio.com> > --- > .../net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) Here is the summary with links: - [net,v2] ch_ktls: lock is not freed https://git.kernel.org/netdev/net/c/cbf3d60329c4 You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html
diff --git a/drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c b/drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c index c24485c0d512..7f90b828d159 100644 --- a/drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c +++ b/drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c @@ -544,7 +544,9 @@ static int chcr_ktls_dev_add(struct net_device *netdev, struct sock *sk, /* need to wait for hw response, can't free tx_info yet. */ if (tx_info->open_state == CH_KTLS_OPEN_PENDING) tx_info->pending_close = true; - /* free the lock after the cleanup */ + else + spin_unlock_bh(&tx_info->lock); + /* if in pending close, free the lock after the cleanup */ goto put_module; } spin_unlock_bh(&tx_info->lock);
Currently lock gets freed only if timeout expires, but missed a case when HW returns failure and goes for cleanup. Fixes: efca3878a5fb ("ch_ktls: Issue if connection offload fails") Signed-off-by: Rohit Maheshwari <rohitm@chelsio.com> --- .../net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)