linux/net/smc
Ursula Braun e1bbdd5704 net/smc: reduce sock_put() for fallback sockets
smc_release() calls a sock_put() for smc fallback sockets to cover
the passive closing sock_hold() in __smc_connect() and
smc_tcp_listen_work(). This does not make sense for sockets in state
SMC_LISTEN and SMC_INIT.
An SMC socket stays in state SMC_INIT if connect fails. The sock_put
in smc_connect_abort() does not cover all failures. Move it into
smc_connect_decline_fallback().

Fixes: ee9dfbef02 ("net/smc: handle sockopts forcing fallback")
Reported-by: syzbot+3a0748c8f2f210c0ef9b@syzkaller.appspotmail.com
Reported-by: syzbot+9e60d2428a42049a592a@syzkaller.appspotmail.com
Signed-off-by: Ursula Braun <ubraun@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-07-07 20:25:13 +09: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
af_smc.c net/smc: reduce sock_put() for fallback sockets 2018-07-07 20:25:13 +09:00
smc.h net/smc: rebuild nonblocking connect 2018-06-28 22:03:55 +09:00
smc_cdc.c net/smc: urgent data support 2018-05-23 16:02:35 -04:00
smc_cdc.h net/smc: urgent data support 2018-05-23 16:02:35 -04:00
smc_clc.c net/smc: rename connection index to RMBE index 2018-05-18 13:15:01 -04:00
smc_clc.h net/smc: rename connection index to RMBE index 2018-05-18 13:15:01 -04:00
smc_close.c net/smc: reduce sock_put() for fallback sockets 2018-07-07 20:25:13 +09: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: longer delay when freeing client link groups 2018-05-23 16:02:35 -04:00
smc_core.h net/smc: move smc_core specific code from smc.h to smc_core 2018-05-18 13:15:01 -04:00
smc_diag.c net/smc: add common buffer size in send and receive buffer descriptors 2018-05-18 13:15:01 -04:00
smc_ib.c net/smc: move link group list to smc_core 2018-05-18 13:15:01 -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 net/smc: drop messages when link state is inactive 2018-05-16 11:49:20 -04:00
smc_llc.h net/smc: use a workqueue to defer llc send 2018-05-16 11:49:19 -04:00
smc_pnet.c net/smc: check for missing nlattrs in SMC_PNETID messages 2018-05-14 16:40:45 -04: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 net/smc: urgent data support 2018-05-23 16:02:35 -04:00
smc_rx.h smc: add support for splice() 2018-05-04 11:45:06 -04:00
smc_tx.c net/smc: urgent data support 2018-05-23 16:02:35 -04:00
smc_tx.h net/smc: urgent data support 2018-05-23 16:02:35 -04:00
smc_wr.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
smc_wr.h net/smc: pay attention to MAX_ORDER for CQ entries 2018-03-14 13:40:44 -04:00