[rds-devel] [PATCH v2 net] rds: Incorrect reference counting in TCP socket creation

David Miller davem at davemloft.net
Fri Mar 2 06:41:09 PST 2018


From: Ka-Cheong Poon <ka-cheong.poon at oracle.com>
Date: Thu,  1 Mar 2018 21:07:18 -0800

> Commit 0933a578cd55 ("rds: tcp: use sock_create_lite() to create the
> accept socket") has a reference counting issue in TCP socket creation
> when accepting a new connection.  The code uses sock_create_lite() to
> create a kernel socket.  But it does not do __module_get() on the
> socket owner.  When the connection is shutdown and sock_release() is
> called to free the socket, the owner's reference count is decremented
> and becomes incorrect.  Note that this bug only shows up when the socket
> owner is configured as a kernel module.
> 
> v2: Update comments
> 
> Signed-off-by: Ka-Cheong Poon <ka-cheong.poon at oracle.com>

Applied and queued up for -stable.

Please provide a proper, appropriate, "Fixes: " tag next time.
I added it for you in this case.



More information about the rds-devel mailing list