]> git.baikalelectronics.ru Git - kernel.git/commit
cifs: handle -EINTR in cifs_setattr
authorRonnie Sahlberg <lsahlber@redhat.com>
Thu, 8 Oct 2020 23:32:56 +0000 (09:32 +1000)
committerSteve French <stfrench@microsoft.com>
Fri, 16 Oct 2020 04:58:14 +0000 (23:58 -0500)
commitb154f6b0ae944d38e86ae90a5e312f7755c96be5
treec110cc563fd15380793545f7a646ef51dc701174
parent2e1c5ad813e8dbf3fca576abe3e67a3a0b9a3b69
cifs: handle -EINTR in cifs_setattr

RHBZ: 1848178

Some calls that set attributes, like utimensat(), are not supposed to return
-EINTR and thus do not have handlers for this in glibc which causes us
to leak -EINTR to the applications which are also unprepared to handle it.

For example tar will break if utimensat() return -EINTR and abort unpacking
the archive. Other applications may break too.

To handle this we add checks, and retry, for -EINTR in cifs_setattr()

Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/cifs/inode.c