diff options
author | Pavel Shilovsky <pshilov@microsoft.com> | 2019-01-19 02:25:36 +0100 |
---|---|---|
committer | Steve French <stfrench@microsoft.com> | 2019-01-24 21:50:57 +0100 |
commit | ef68e831840c40c7d01b328b3c0f5d8c4796c232 (patch) | |
tree | 063f809b38252b893f71bcc101d115048b049b91 /block/blk-throttle.c | |
parent | smb3: Cleanup license mess (diff) | |
download | linux-ef68e831840c40c7d01b328b3c0f5d8c4796c232.tar.xz linux-ef68e831840c40c7d01b328b3c0f5d8c4796c232.zip |
CIFS: Do not reconnect TCP session in add_credits()
When executing add_credits() we currently call cifs_reconnect()
if the number of credits is zero and there are no requests in
flight. In this case we may call cifs_reconnect() recursively
twice and cause memory corruption given the following sequence
of functions:
mid1.callback() -> add_credits() -> cifs_reconnect() ->
-> mid2.callback() -> add_credits() -> cifs_reconnect().
Fix this by avoiding to call cifs_reconnect() in add_credits()
and checking for zero credits in the demultiplex thread.
Cc: <stable@vger.kernel.org>
Signed-off-by: Pavel Shilovsky <pshilov@microsoft.com>
Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'block/blk-throttle.c')
0 files changed, 0 insertions, 0 deletions