aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPavel Shilovsky <pshilovsky@samba.org>2013-09-05 07:04:04 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-09-26 20:18:04 -0400
commitaf66f40c4cb1d31b3b403d5f9a8471261a0cc945 (patch)
tree4044644ccb0e9747ccbfa7d1ea672be100dfe93a
parent9b8ace6745bf4722ff9c48089f5b0723478a849b (diff)
CIFS: Fix a memory leak when a lease break comes
commit 1a05096de82f3cd672c76389f63964952678506f upstream. This happens when we receive a lease break from a server, then find an appropriate lease key in opened files and schedule the oplock_break slow work. lw pointer isn't freed in this case. Signed-off-by: Pavel Shilovsky <pshilovsky@samba.org> Signed-off-by: Steve French <smfrench@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--fs/cifs/smb2misc.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/cifs/smb2misc.c b/fs/cifs/smb2misc.c
index 10383d8c015b..2b1dc7f4464a 100644
--- a/fs/cifs/smb2misc.c
+++ b/fs/cifs/smb2misc.c
@@ -469,6 +469,7 @@ smb2_is_valid_lease_break(char *buffer, struct TCP_Server_Info *server)
469 469
470 queue_work(cifsiod_wq, &cfile->oplock_break); 470 queue_work(cifsiod_wq, &cfile->oplock_break);
471 471
472 kfree(lw);
472 spin_unlock(&cifs_file_list_lock); 473 spin_unlock(&cifs_file_list_lock);
473 spin_unlock(&cifs_tcp_ses_lock); 474 spin_unlock(&cifs_tcp_ses_lock);
474 return true; 475 return true;