[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <41f0e646-a7eb-7316-6aa4-c3be7e78b0f8@windriver.com>
Date: Tue, 4 Sep 2018 19:40:56 +0800
From: Ying Xue <ying.xue@...driver.com>
To: Cong Wang <xiyou.wangcong@...il.com>, <netdev@...r.kernel.org>
CC: <tipc-discussion@...ts.sourceforge.net>,
Jon Maloy <jon.maloy@...csson.com>
Subject: Re: [Patch net] tipc: orphan sock in tipc_release()
On 09/04/2018 10:12 AM, Cong Wang wrote:
> Before we unlock the sock in tipc_release(), we have to
> detach sk->sk_socket from sk, otherwise a parallel
> tipc_sk_fill_sock_diag() could stil read it after we
> free this socket.
>
> Fixes: c30b70deb5f4 ("tipc: implement socket diagnostics for AF_TIPC")
> Reported-and-tested-by: syzbot+48804b87c16588ad491d@...kaller.appspotmail.com
> Cc: Jon Maloy <jon.maloy@...csson.com>
> Cc: Ying Xue <ying.xue@...driver.com>
> Signed-off-by: Cong Wang <xiyou.wangcong@...il.com>
Acked-by: Ying Xue <ying.xue@...driver.com>
> ---
> net/tipc/socket.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/net/tipc/socket.c b/net/tipc/socket.c
> index a19b2b1c77ed..b5a6635e4dfa 100644
> --- a/net/tipc/socket.c
> +++ b/net/tipc/socket.c
> @@ -576,6 +576,7 @@ static int tipc_release(struct socket *sock)
> sk_stop_timer(sk, &sk->sk_timer);
> tipc_sk_remove(tsk);
>
> + sock_orphan(sk);
> /* Reject any messages that accumulated in backlog queue */
> release_sock(sk);
> tipc_dest_list_purge(&tsk->cong_links);
>
Powered by blists - more mailing lists