On Thu, May 09, 2019 at 02:28:00PM +0800, Xin Long wrote:
> SCTP_CMD_GEN_INIT_ACK was introduced since very beginning, but never
> got used. So remove it.
> 
> Signed-off-by: Xin Long <lucien....@gmail.com>
> ---
>  include/net/sctp/command.h |  1 -
>  net/sctp/sm_sideeffect.c   | 11 -----------
>  2 files changed, 12 deletions(-)
> 
> diff --git a/include/net/sctp/command.h b/include/net/sctp/command.h
> index 6d5beac..b4e8706 100644
> --- a/include/net/sctp/command.h
> +++ b/include/net/sctp/command.h
> @@ -48,7 +48,6 @@ enum sctp_verb {
>       SCTP_CMD_REPORT_TSN,    /* Record the arrival of a TSN.  */
>       SCTP_CMD_GEN_SACK,      /* Send a Selective ACK (maybe).  */
>       SCTP_CMD_PROCESS_SACK,  /* Process an inbound SACK.  */
> -     SCTP_CMD_GEN_INIT_ACK,  /* Generate an INIT ACK chunk.  */
>       SCTP_CMD_PEER_INIT,     /* Process a INIT from the peer.  */
>       SCTP_CMD_GEN_COOKIE_ECHO, /* Generate a COOKIE ECHO chunk. */
>       SCTP_CMD_CHUNK_ULP,     /* Send a chunk to the sockets layer.  */
> diff --git a/net/sctp/sm_sideeffect.c b/net/sctp/sm_sideeffect.c
> index 4aa0358..233ee80 100644
> --- a/net/sctp/sm_sideeffect.c
> +++ b/net/sctp/sm_sideeffect.c
> @@ -1364,17 +1364,6 @@ static int sctp_cmd_interpreter(enum sctp_event_type 
> event_type,
>                                                     cmd->obj.chunk);
>                       break;
>  
> -             case SCTP_CMD_GEN_INIT_ACK:
> -                     /* Generate an INIT ACK chunk.  */
> -                     new_obj = sctp_make_init_ack(asoc, chunk, GFP_ATOMIC,
> -                                                  0);
> -                     if (!new_obj)
> -                             goto nomem;
> -
> -                     sctp_add_cmd_sf(commands, SCTP_CMD_REPLY,
> -                                     SCTP_CHUNK(new_obj));
> -                     break;
> -
>               case SCTP_CMD_PEER_INIT:
>                       /* Process a unified INIT from the peer.
>                        * Note: Only used during INIT-ACK processing.  If
> -- 
> 2.1.0
> 
> 

This is definately a valid cleanup, but I wonder if it wouldn't be better to,
instead of removing it, to use it.  We have 2 locations where we actually call
sctp_make_init_ack, and then have to check the return code and abort the
operation if we get a NULL return.  Would it be a better solution (in the sense
of keeping our control flow in line with how the rest of the state machine is
supposed to work), if we didn't just add a SCTP_CMD_GEN_INIT_ACK sideeffect to
the state machine queue in the locations where we otherwise would call
sctp_make_init_ack/sctp_add_cmd_sf(...SCTP_CMD_REPLY)?

Neil

Reply via email to