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.

Cc: <[email protected]>
Signed-off-by: Pavel Shilovsky <[email protected]>
---
 fs/cifs/smb2misc.c |    1 +
 1 file changed, 1 insertion(+)

diff --git a/fs/cifs/smb2misc.c b/fs/cifs/smb2misc.c
index 6103359..38c93c3 100644
--- a/fs/cifs/smb2misc.c
+++ b/fs/cifs/smb2misc.c
@@ -477,6 +477,7 @@ smb2_is_valid_lease_break(char *buffer, struct 
TCP_Server_Info *server)
 
                                queue_work(cifsiod_wq, &cfile->oplock_break);
 
+                               kfree(lw);
                                spin_unlock(&cifs_file_list_lock);
                                spin_unlock(&cifs_tcp_ses_lock);
                                return true;
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to