mbox series

[net,v2,0/2] rxrpc: Call state fixes

Message ID 20250204230558.712536-1-dhowells@redhat.com (mailing list archive)
Headers show
Series rxrpc: Call state fixes | expand

Message

David Howells Feb. 4, 2025, 11:05 p.m. UTC
Here some call state fixes for AF_RXRPC.

 (1) Fix the state of a call to not treat the challenge-response cycle as
     part of an incoming call's state set.  The problem is that it makes
     handling received of the final packet in the receive phase difficult
     as that wants to change the call state - but security negotiations may
     not yet be complete.

 (2) Fix a race between the changing of the call state at the end of the
     request reception phase of a service call, recvmsg() collecting the last
     data and sendmsg() trying to send the reply before the I/O thread has
     advanced the call state.

David

---

Changes
=======
ver #2)
 - This was previously posted here[1] as patch 1, but I split out the broken
   race fix, leaving the rest in the new patch 1 here.  The race fix was
   itself fixed and placed into the new patch 2.

The patches can be found here also:

	http://git.kernel.org/cgit/linux/kernel/git/dhowells/linux-fs.git/log/?h=rxrpc-fixes

Link: https://lore.kernel.org/r/20250203110307.7265-2-dhowells@redhat.com/ [1]

David Howells (2):
  rxrpc: Fix call state set to not include the SERVER_SECURING state
  rxrpc: Fix race in call state changing vs recvmsg()

 net/rxrpc/ar-internal.h |  2 +-
 net/rxrpc/call_object.c |  6 ++----
 net/rxrpc/conn_event.c  |  4 +---
 net/rxrpc/input.c       | 12 ++++++++++--
 net/rxrpc/sendmsg.c     |  2 +-
 5 files changed, 15 insertions(+), 11 deletions(-)