]> git.baikalelectronics.ru Git - kernel.git/commit
afs: Fix client call Rx-phase signal handling
authorDavid Howells <dhowells@redhat.com>
Thu, 12 Mar 2020 21:40:06 +0000 (21:40 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 1 Apr 2020 09:02:07 +0000 (11:02 +0200)
commitd4f6fa65c3a5f201919258d8d13eecd3aaa37b0c
treeed6b7bc72412e1ef982612fff460b8980c1126f0
parent51f6f649c91b18efce313578c1156e93635bc5ec
afs: Fix client call Rx-phase signal handling

commit f446e77a915d22272cc423fb197aadc209b6315e upstream.

Fix the handling of signals in client rxrpc calls made by the afs
filesystem.  Ignore signals completely, leaving call abandonment or
connection loss to be detected by timeouts inside AF_RXRPC.

Allowing a filesystem call to be interrupted after the entire request has
been transmitted and an abort sent means that the server may or may not
have done the action - and we don't know.  It may even be worse than that
for older servers.

Fixes: 8d0c6fe295af ("rxrpc: Use MSG_WAITALL to tell sendmsg() to temporarily ignore signals")
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/afs/rxrpc.c
include/net/af_rxrpc.h
net/rxrpc/af_rxrpc.c
net/rxrpc/ar-internal.h
net/rxrpc/input.c