linux/include/trace
David Howells 966a8ea200 afs: Fix cleanup of immediately failed async calls
[ Upstream commit 9750be93b2 ]

If we manage to begin an async call, but fail to transmit any data on it
due to a signal, we then abort it which causes a race between the
notification of call completion from rxrpc and our attempt to cancel the
notification.  The notification will be necessary, however, for async
FetchData to terminate the netfs subrequest.

However, since we get a notification from rxrpc upon completion of a call
(aborted or otherwise), we can just leave it to that.

This leads to calls not getting cleaned up, but appearing in
/proc/net/rxrpc/calls as being aborted with code 6.

Fix this by making the "error_do_abort:" case of afs_make_call() abort the
call and then abandon it to the notification handler.

Fixes: 34fa47612b ("afs: Fix race in async call refcounting")
Reported-by: Marc Dionne <marc.dionne@auristor.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Link: https://lore.kernel.org/r/20241216204124.3752367-25-dhowells@redhat.com
cc: linux-afs@lists.infradead.org
Signed-off-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-02-08 09:56:50 +01:00
..
events afs: Fix cleanup of immediately failed async calls 2025-02-08 09:56:50 +01:00
misc NFS: trace: show TIMEDOUT instead of 0x6e 2024-09-01 10:04:55 -04:00
stages tracing/treewide: Remove second parameter of __assign_str() 2024-05-22 20:14:47 -04:00
bpf_probe.h bpf: pass whole link instead of prog when triggering raw tracepoint 2024-03-19 23:05:33 -07:00
define_custom_trace.h tracing: Add TRACE_CUSTOM_EVENT() macro 2022-03-11 11:49:24 -05:00
define_trace.h tracepoint: Optimize using static_call() 2020-09-01 09:58:06 +02:00
perf.h perf/tracing: Use stage6 of tracing to not duplicate macros 2023-01-25 10:31:24 -05:00
syscall.h tracepoints: Migrate to use SYSCALL_WORK flag 2020-11-16 21:53:15 +01:00
trace_custom_events.h tracing: Rename the staging files for trace_events 2022-04-02 08:40:04 -04:00
trace_events.h tracing/ftrace: disable preemption in syscall probe 2024-12-14 20:03:58 +01:00