mirror of
https://github.com/torvalds/linux.git
synced 2024-11-21 19:41:42 +00:00
sctp: remove unnecessary NULL check in sctp_association_init()
'&asoc->ulpq' passed to sctp_ulpq_init() as the first argument, then sctp_qlpq_init() initializes it and eventually returns the address of the struct member back. Therefore, in this case, the return pointer cannot be NULL. Moreover, it seems sctp_ulpq_init() has always been used only in sctp_association_init(), so there's really no need to return ulpq anymore. Detected using the static analysis tool - Svace. Signed-off-by: Alexey Kodanev <aleksei.kodanev@bell-sw.com> Reviewed-by: Xin Long <lucien.xin@gmail.com> Link: https://lore.kernel.org/r/20221019180735.161388-1-aleksei.kodanev@bell-sw.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
94adb5e29e
commit
6fdfdef7fd
@ -35,8 +35,7 @@ struct sctp_ulpq {
|
||||
};
|
||||
|
||||
/* Prototypes. */
|
||||
struct sctp_ulpq *sctp_ulpq_init(struct sctp_ulpq *,
|
||||
struct sctp_association *);
|
||||
void sctp_ulpq_init(struct sctp_ulpq *ulpq, struct sctp_association *asoc);
|
||||
void sctp_ulpq_flush(struct sctp_ulpq *ulpq);
|
||||
void sctp_ulpq_free(struct sctp_ulpq *);
|
||||
|
||||
|
@ -226,8 +226,7 @@ static struct sctp_association *sctp_association_init(
|
||||
/* Create an output queue. */
|
||||
sctp_outq_init(asoc, &asoc->outqueue);
|
||||
|
||||
if (!sctp_ulpq_init(&asoc->ulpq, asoc))
|
||||
goto fail_init;
|
||||
sctp_ulpq_init(&asoc->ulpq, asoc);
|
||||
|
||||
if (sctp_stream_init(&asoc->stream, asoc->c.sinit_num_ostreams, 0, gfp))
|
||||
goto stream_free;
|
||||
@ -277,7 +276,6 @@ static struct sctp_association *sctp_association_init(
|
||||
|
||||
stream_free:
|
||||
sctp_stream_free(&asoc->stream);
|
||||
fail_init:
|
||||
sock_put(asoc->base.sk);
|
||||
sctp_endpoint_put(asoc->ep);
|
||||
return NULL;
|
||||
|
@ -38,8 +38,7 @@ static void sctp_ulpq_reasm_drain(struct sctp_ulpq *ulpq);
|
||||
/* 1st Level Abstractions */
|
||||
|
||||
/* Initialize a ULP queue from a block of memory. */
|
||||
struct sctp_ulpq *sctp_ulpq_init(struct sctp_ulpq *ulpq,
|
||||
struct sctp_association *asoc)
|
||||
void sctp_ulpq_init(struct sctp_ulpq *ulpq, struct sctp_association *asoc)
|
||||
{
|
||||
memset(ulpq, 0, sizeof(struct sctp_ulpq));
|
||||
|
||||
@ -48,8 +47,6 @@ struct sctp_ulpq *sctp_ulpq_init(struct sctp_ulpq *ulpq,
|
||||
skb_queue_head_init(&ulpq->reasm_uo);
|
||||
skb_queue_head_init(&ulpq->lobby);
|
||||
ulpq->pd_mode = 0;
|
||||
|
||||
return ulpq;
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user