Files
linux/fs/cifs
Ronnie Sahlberg 1c089287ce cifs: don't leak -EAGAIN for stat() during reconnect
commit fc513fac56 upstream.

If from cifs_revalidate_dentry_attr() the SMB2/QUERY_INFO call fails with an
error, such as STATUS_SESSION_EXPIRED, causing the session to be reconnected
it is possible we will leak -EAGAIN back to the application even for
system calls such as stat() where this is not a valid error.

Fix this by re-trying the operation from within cifs_revalidate_dentry_attr()
if cifs_get_inode_info*() returns -EAGAIN.

This fixes stat() and possibly also other system calls that uses
cifs_revalidate_dentry*().

Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
Reviewed-by: Aurelien Aptel <aaptel@suse.com>
CC: Stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-03-11 07:53:10 +01:00
..
2016-10-13 19:48:11 -05:00
2016-09-16 12:44:21 +02:00
2017-05-20 14:28:40 +02:00
2018-09-05 09:20:05 +02:00
2019-10-29 09:15:24 +01:00
2017-05-08 07:47:55 +02:00
2017-05-08 07:47:55 +02:00
2013-09-08 14:54:24 -05:00
2019-10-05 12:30:36 +02:00