linux-stable/include
David Howells e0416e7d33 rxrpc: Fix potential race in error handling in afs_make_call()
If the rxrpc call set up by afs_make_call() receives an error whilst it is
transmitting the request, there's the possibility that it may get to the
point the rxrpc call is ended (after the error_kill_call label) just as the
call is queued for async processing.

This could manifest itself as call->rxcall being seen as NULL in
afs_deliver_to_call() when it tries to lock the call.

Fix this by splitting rxrpc_kernel_end_call() into a function to shut down
an rxrpc call and a function to release the caller's reference and calling
the latter only when we get to afs_put_call().

Reported-by: Jeffrey Altman <jaltman@auristor.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Tested-by: kafs-testing+fedora36_64checkkafs-build-306@auristor.com
cc: Marc Dionne <marc.dionne@auristor.com>
cc: "David S. Miller" <davem@davemloft.net>
cc: Eric Dumazet <edumazet@google.com>
cc: Jakub Kicinski <kuba@kernel.org>
cc: Paolo Abeni <pabeni@redhat.com>
cc: linux-afs@lists.infradead.org
cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
2023-04-22 15:16:39 +01:00
..
acpi ACPI: video: Add auto_detect arg to __acpi_video_get_backlight_type() 2023-04-05 20:23:02 +02:00
asm-generic asm-generic: avoid __generic_cmpxchg_local warnings 2023-04-04 17:58:11 +02:00
clocksource
crypto
drm Merge branch 'etnaviv/fixes' of https://git.pengutronix.de/git/lst/linux into drm-fixes 2023-03-30 20:15:07 +02:00
dt-bindings
keys
kunit
kvm KVM: arm64: timers: Convert per-vcpu virtual offset to a global value 2023-03-11 02:00:40 -08:00
linux Networking fixes for 6.3-rc8, including fixes from netfilter and bpf 2023-04-20 11:03:51 -07:00
math-emu
media
memory
misc
net rxrpc: Fix potential race in error handling in afs_make_call() 2023-04-22 15:16:39 +01:00
pcmcia
ras
rdma
rv
scsi scsi: core: Add BLIST_NO_VPD_SIZE for some VDASD 2023-03-09 20:57:58 -05:00
soc
sound sound fixes for 6.3-rc1 2023-03-04 10:53:59 -08:00
target
trace tracing: Error if a trace event has an array for a __field() 2023-04-03 11:52:51 -04:00
uapi virtio-blk: fix to match virtio spec 2023-04-04 11:01:57 -04:00
ufs scsi: Revert "scsi: ufs: core: Initialize devfreq synchronously" 2023-04-02 21:12:34 -04:00
vdso
video
xen xen: branch for v6.3-rc3 2023-03-17 10:45:49 -07:00