Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Simple overlapping changes in bpf land wrt. bpf_helper_defs.h handling. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -84,10 +84,8 @@ static int sctp_stream_alloc_out(struct sctp_stream *stream, __u16 outcnt,
|
||||
return 0;
|
||||
|
||||
ret = genradix_prealloc(&stream->out, outcnt, gfp);
|
||||
if (ret) {
|
||||
genradix_free(&stream->out);
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
|
||||
stream->outcnt = outcnt;
|
||||
return 0;
|
||||
@@ -102,10 +100,8 @@ static int sctp_stream_alloc_in(struct sctp_stream *stream, __u16 incnt,
|
||||
return 0;
|
||||
|
||||
ret = genradix_prealloc(&stream->in, incnt, gfp);
|
||||
if (ret) {
|
||||
genradix_free(&stream->in);
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
|
||||
stream->incnt = incnt;
|
||||
return 0;
|
||||
@@ -123,7 +119,7 @@ int sctp_stream_init(struct sctp_stream *stream, __u16 outcnt, __u16 incnt,
|
||||
* a new one with new outcnt to save memory if needed.
|
||||
*/
|
||||
if (outcnt == stream->outcnt)
|
||||
goto in;
|
||||
goto handle_in;
|
||||
|
||||
/* Filter out chunks queued on streams that won't exist anymore */
|
||||
sched->unsched_all(stream);
|
||||
@@ -132,24 +128,28 @@ int sctp_stream_init(struct sctp_stream *stream, __u16 outcnt, __u16 incnt,
|
||||
|
||||
ret = sctp_stream_alloc_out(stream, outcnt, gfp);
|
||||
if (ret)
|
||||
goto out;
|
||||
goto out_err;
|
||||
|
||||
for (i = 0; i < stream->outcnt; i++)
|
||||
SCTP_SO(stream, i)->state = SCTP_STREAM_OPEN;
|
||||
|
||||
in:
|
||||
handle_in:
|
||||
sctp_stream_interleave_init(stream);
|
||||
if (!incnt)
|
||||
goto out;
|
||||
|
||||
ret = sctp_stream_alloc_in(stream, incnt, gfp);
|
||||
if (ret) {
|
||||
sched->free(stream);
|
||||
genradix_free(&stream->out);
|
||||
stream->outcnt = 0;
|
||||
goto out;
|
||||
}
|
||||
if (ret)
|
||||
goto in_err;
|
||||
|
||||
goto out;
|
||||
|
||||
in_err:
|
||||
sched->free(stream);
|
||||
genradix_free(&stream->in);
|
||||
out_err:
|
||||
genradix_free(&stream->out);
|
||||
stream->outcnt = 0;
|
||||
out:
|
||||
return ret;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user