mbox series

[net,0/6] rxrpc: Leak fixes

Message ID 165306442115.34086.1818959430525328753.stgit@warthog.procyon.org.uk (mailing list archive)
Headers show
Series rxrpc: Leak fixes | expand

Message

David Howells May 20, 2022, 4:33 p.m. UTC
Here are some fixes for AF_RXRPC:

 (1) Reenable IPv6 checksums on the UDP transport socket after the
     conversion to the UDP tunnel API disabled it.

 (2) Fix listen() allowing preallocation to overrun the prealloc buffer.

 (3) Prevent resending the request if we've seen the reply starting to
     arrive.

 (4) Fix accidental sharing of ACK state between transmission and
     reception.

 (5) Ignore ACKs in which ack.previousPacket regresses.  This indicates the
     highest DATA number so far seen, so should not be seen to go
     backwards.

 (6) Fix the determination of when to generate an IDLE-type ACK,
     simplifying it so that we generate one if we have more than two DATA
     packets that aren't hard-acked (consumed) or soft-acked (in the rx
     buffer, but could be discarded and re-requested).

The patches are tagged here:

	git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git
	rxrpc-fixes-20220520

and can also be found on the following branch:

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

Tested-by: kafs-testing+fedora34_64checkkafs-build-495@auristor.com

David
---
David Howells (6):
      rxrpc: Enable IPv6 checksums on transport socket
      rxrpc: Fix listen() setting the bar too high for the prealloc rings
      rxrpc: Don't try to resend the request if we're receiving the reply
      rxrpc: Fix overlapping ACK accounting
      rxrpc: Don't let ack.previousPacket regress
      rxrpc: Fix decision on when to generate an IDLE ACK


 include/trace/events/rxrpc.h |  2 +-
 net/rxrpc/ar-internal.h      | 13 +++++++------
 net/rxrpc/call_event.c       |  3 ++-
 net/rxrpc/input.c            | 31 ++++++++++++++++++++-----------
 net/rxrpc/local_object.c     |  3 +++
 net/rxrpc/output.c           | 20 ++++++++++++--------
 net/rxrpc/recvmsg.c          |  8 +++-----
 net/rxrpc/sysctl.c           |  4 ++--
 8 files changed, 50 insertions(+), 34 deletions(-)