linux/net/smc
Ursula Braun 070204a348 net/smc: keep clcsock reference in smc_tcp_listen_work()
The internal CLC socket should exist till the SMC-socket is released.
Function tcp_listen_worker() releases the internal CLC socket of a
listen socket, if an smc_close_active() is called. This function
is called for the final release(), but it is called for shutdown
SHUT_RDWR as well. This opens a door for protection faults, if
socket calls using the internal CLC socket are called for a
shutdown listen socket.

With the changes of
commit 3d50206759 ("net/smc: simplify wait when closing listen socket")
there is no need anymore to release the internal CLC socket in
function tcp_listen_worker((). It is sufficient to release it in
smc_release().

Fixes: 127f497058 ("net/smc: release clcsock from tcp_listen_worker")
Signed-off-by: Ursula Braun <ubraun@linux.ibm.com>
Reported-by: syzbot+9045fc589fcd196ef522@syzkaller.appspotmail.com
Reported-by: syzbot+28a2c86cf19c81d871fa@syzkaller.appspotmail.com
Reported-by: syzbot+9605e6cace1b5efd4a0a@syzkaller.appspotmail.com
Reported-by: syzbot+cf9012c597c8379d535c@syzkaller.appspotmail.com
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-04-25 14:13:41 -04:00
..
af_smc.c net/smc: keep clcsock reference in smc_tcp_listen_work() 2018-04-25 14:13:41 -04:00
Kconfig net/smc: remove Kconfig warning 2017-07-29 11:22:58 -07:00
Makefile smc: netlink interface for SMC sockets 2017-01-09 16:07:41 -05:00
smc_cdc.c net/smc: use a constant for control message length 2018-02-28 12:30:25 -05:00
smc_cdc.h net/smc: get rid of tx_pend waits in socket closing 2018-01-24 10:52:57 -05:00
smc_clc.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-04-01 19:49:34 -04:00
smc_clc.h net/smc: add ipv6 support to CLC layer 2018-03-16 14:57:25 -04:00
smc_close.c net/smc: simplify wait when closing listen socket 2018-03-15 09:49:13 -04:00
smc_close.h net/smc: replace sock_put worker by socket refcounting 2018-01-26 10:41:56 -05:00
smc_core.c net/smc: schedule free_work when link group is terminated 2018-03-14 13:40:44 -04:00
smc_core.h net/smc: prevent new connections on link group 2018-03-01 13:21:31 -05:00
smc_diag.c net/smc: check for healthy link group resp. connections 2018-01-25 16:10:42 -05:00
smc_ib.c net/smc: pay attention to MAX_ORDER for CQ entries 2018-03-14 13:40:44 -04:00
smc_ib.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
smc_llc.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-03-06 01:20:46 -05:00
smc_llc.h net/smc: process add/delete link messages 2018-03-01 13:21:31 -05:00
smc_pnet.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
smc_pnet.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
smc_rx.c vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
smc_rx.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
smc_tx.c vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
smc_tx.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
smc_wr.c net/smc: check for healthy link group resp. connections 2018-01-25 16:10:42 -05:00
smc_wr.h net/smc: pay attention to MAX_ORDER for CQ entries 2018-03-14 13:40:44 -04:00
smc.h net/smc: enable ipv6 support for smc 2018-03-16 14:57:26 -04:00