diff options
author | Ka-Cheong Poon <ka-cheong.poon@oracle.com> | 2018-03-02 08:07:18 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-03-02 17:40:27 +0300 |
commit | 84eef2b2187ed73c0e4520cbfeb874e964a0b56a (patch) | |
tree | 910036b61425b56e91761802c77dc2ea15357b2a /security | |
parent | a5f7b0eeb219620e1f7388db817e2fb584c00b64 (diff) | |
download | linux-84eef2b2187ed73c0e4520cbfeb874e964a0b56a.tar.xz |
rds: Incorrect reference counting in TCP socket creation
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
Fixes: 0933a578cd55 ("rds: tcp: use sock_create_lite() to create the accept socket")
Signed-off-by: Ka-Cheong Poon <ka-cheong.poon@oracle.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
Acked-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'security')
0 files changed, 0 insertions, 0 deletions