Subject: Re: [PATCH 1/5] rds: tcp: release the created connection

From: Sowmini Varadhan <[email-masked]>
Date: Mon, 27 Mar 2017 03:37:56 -0400

On (03/27/17 03:06), Zhu Yanjun wrote:
> Date: Mon, 27 Mar 2017 03:06:26 -0400
> From: Zhu Yanjun <[email-masked]>
> To: [email-masked], [email-masked],
>  [email-masked], [email-masked],
>  [email-masked], [email-masked], [email-masked]
> Subject: [PATCH 1/5] rds: tcp: release the created connection
> X-Mailer: git-send-email 2.7.4
> 
> When some error occurs, the created connection should be destroyed.

No please dont do this.

This is the case when there are duelling connections. We want
to reset the new (accept sock) and leave the old socket in place.

How did you test this? Did you test it with network namespaces?

--Sowmini

>  net/rds/tcp_listen.c | 1 +
> 
> diff --git a/net/rds/tcp_listen.c b/net/rds/tcp_listen.c
> index 5076788..58aa5bc 100644
> --- a/net/rds/tcp_listen.c
> +++ b/net/rds/tcp_listen.c
> @@ -196,6 +196,7 @@ int rds_tcp_accept_one(struct socket *sock)
>  rst_nsk:
>  	/* reset the newly returned accept sock and bail */
>  	kernel_sock_shutdown(new_sock, SHUT_RDWR);
> +	rds_conn_destroy(conn);
>  	ret = 0;
>  out:
>  	if (rs_tcp)
> -- 
> 2.7.4
>