linux/include/trace
Trond Myklebust c688d2d8b0 SUNRPC: Prevent looping due to rpc_signal_task() races
[ Upstream commit 5bbd6e863b ]

If rpc_signal_task() is called while a task is in an rpc_call_done()
callback function, and the latter calls rpc_restart_call(), the task can
end up looping due to the RPC_TASK_SIGNALLED flag being set without the
tk_rpc_status being set.
Removing the redundant mechanism for signalling the task fixes the
looping behaviour.

Reported-by: Li Lingfeng <lilingfeng3@huawei.com>
Fixes: 39494194f9 ("SUNRPC: Fix races with rpc_killall_tasks()")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-03-07 16:45:36 +01:00
..
events SUNRPC: Prevent looping due to rpc_signal_task() races 2025-03-07 16:45:36 +01:00
misc NFSD: add CB_RECALL_ANY tracepoints 2022-12-10 11:01:12 -05:00
stages tracing: Error if a trace event has an array for a __field() 2023-04-03 11:52:51 -04:00
bpf_probe.h kernel.h: split out COUNT_ARGS() and CONCATENATE() to args.h 2023-08-18 10:18:56 -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:00:10 +01:00