Netdev List
 help / color / mirror / Atom feed
* [PATCH] net: sctp: Fix negotiation of the number of data streams.
@ 2020-08-18 14:36 David Laight
  2020-08-18 19:58 ` David Miller
  2020-08-18 21:46 ` 'Marcelo Ricardo Leitner'
  0 siblings, 2 replies; 5+ messages in thread
From: David Laight @ 2020-08-18 14:36 UTC (permalink / raw)
  To: 'netdev@vger.kernel.org',
	'linux-sctp@vger.kernel.org'
  Cc: 'Marcelo Ricardo Leitner'

The number of streams offered by the remote system was being ignored.
Any data sent on those streams would get discarded by the remote system.

Fixes 2075e50caf5ea.

Signed-off-by: David Laight <david.laight@aculab.com>
---
 net/sctp/stream.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

This needs backporting to 5.1 and all later kernels.

diff --git a/net/sctp/stream.c b/net/sctp/stream.c
index bda2536dd740..6dc95dcc0ff4 100644
--- a/net/sctp/stream.c
+++ b/net/sctp/stream.c
@@ -88,12 +88,13 @@ static int sctp_stream_alloc_out(struct sctp_stream *stream, __u16 outcnt,
 	int ret;
 
 	if (outcnt <= stream->outcnt)
-		return 0;
+		goto out;
 
 	ret = genradix_prealloc(&stream->out, outcnt, gfp);
 	if (ret)
 		return ret;
 
+out:
 	stream->outcnt = outcnt;
 	return 0;
 }
@@ -104,12 +105,13 @@ static int sctp_stream_alloc_in(struct sctp_stream *stream, __u16 incnt,
 	int ret;
 
 	if (incnt <= stream->incnt)
-		return 0;
+		goto out;
 
 	ret = genradix_prealloc(&stream->in, incnt, gfp);
 	if (ret)
 		return ret;
 
+out:
 	stream->incnt = incnt;
 	return 0;
 }
-- 
2.25.1

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-08-18 22:10 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-08-18 14:36 [PATCH] net: sctp: Fix negotiation of the number of data streams David Laight
2020-08-18 19:58 ` David Miller
2020-08-18 21:28   ` David Laight
2020-08-18 21:46 ` 'Marcelo Ricardo Leitner'
2020-08-18 22:10   ` David Laight

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox