[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170627195921.GA9171@oracle.com>
Date: Tue, 27 Jun 2017 15:59:21 -0400
From: Sowmini Varadhan <sowmini.varadhan@...cle.com>
To: David Miller <davem@...emloft.net>
Cc: netdev@...r.kernel.org
Subject: Re: RFC: sk leak in sock_graft?
On (06/27/17 15:38), David Miller wrote:
>
> It could simply be the case that rds-tcp is the first setup that
> created that situation where there is a parent->sk already.
Possibly, I noticed that other callers call sock_create_lite()
and I dont know the history here - this seems to have been
the case from day-1 of rds-tcp. (and I dread changing
rds_tcp_accept_kern() to do this, because then every module unload
would need to go and check if sock->sk is non-null first, before
cleaning it up
> Why does rds-tcp need to call sock_graft() without those invariants
> met?
It would certainly help to declare "dont use sock_creeate_kern()
if you are going to accept on this socket"- I dont see that being
mandated anywhere.
It would also help to have a BUG_ON(parent->sk) or at least a
WARN_ON(parent->sk) in sock_graft, before unilaterally assigning
it to the new sk.
--Sowmini
Powered by blists - more mailing lists