> -----Original Message-----
> From: netdev-ow...@vger.kernel.org [mailto:netdev-
> ow...@vger.kernel.org] On Behalf Of Jon Maloy
> Sent: Monday, December 04, 2017 14:50
> To: Cong Wang <xiyou.wangc...@gmail.com>; David Miller
> <da...@davemloft.net>
> Cc: Linux Kernel Network Developers <netdev@vger.kernel.org>; tipc-
> discuss...@lists.sourceforge.net; Ying Xue <ying....@windriver.com>
> Subject: RE: [Patch net v2] tipc: fix a null pointer deref on error path
> 
> 
> 
> > -----Original Message-----
> > From: Cong Wang [mailto:xiyou.wangc...@gmail.com]
> > Sent: Monday, December 04, 2017 14:41
> > To: David Miller <da...@davemloft.net>
> > Cc: Linux Kernel Network Developers <netdev@vger.kernel.org>; tipc-
> > discuss...@lists.sourceforge.net; Jon Maloy <jon.ma...@ericsson.com>;
> > Ying Xue <ying....@windriver.com>
> > Subject: Re: [Patch net v2] tipc: fix a null pointer deref on error
> > path
> >
> > On Mon, Dec 4, 2017 at 11:23 AM, Cong Wang
> <xiyou.wangc...@gmail.com>
> > wrote:
> > > On Mon, Dec 4, 2017 at 10:57 AM, David Miller <da...@davemloft.net>
> > wrote:
> > >>
> > >> It looks like tipc_accept_from_sock() has a similar problem?  The
> > >> tipc_close_conn() will get invoked indirectly from the
> > >> sock_release() path right?
> > >
> > > Not sure, the sock_release() in tipc_accept_from_sock() is for
> > > kernel_accept(), not for tipc_alloc_conn(). Or maybe it is hiding
> > > deep in the call chain that I miss?
> >
> > I see:
> >
> > tipc_release() ->  tipc_sk_leave() -> tipc_group_delete()
> > -> tipc_topsrv_kern_unsubscr() -> tipc_close_conn()
> >
> > Seems on this path we do need to skip NULL too.
> 
> You are right. The right solution is to just call conn_put() twice here.
> I already have a patch ready for this, but it is part of a series that needs 
> more
> review.
> I should probably post it separately...

Well, calling conn_put() twice was ok in my series, but in the current upstream 
version it is not enough.
I will find a different short term solution.

///jon

> 
> ///jon

Reply via email to