]> git.baikalelectronics.ru Git - kernel.git/commit
net/smc: fix TCP fallback socket release
authorMyungho Jung <mhjungk@gmail.com>
Tue, 18 Dec 2018 17:02:25 +0000 (09:02 -0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 19 Dec 2018 06:02:51 +0000 (22:02 -0800)
commit7755eb8ffafad7ef44271fc5473850930ef41f4b
tree101f58d43375ea186240109dbb123854a006dade
parentb28a490f26986184ab5930a607c4fa894069814d
net/smc: fix TCP fallback socket release

clcsock can be released while kernel_accept() references it in TCP
listen worker. Also, clcsock needs to wake up before released if TCP
fallback is used and the clcsock is blocked by accept. Add a lock to
safely release clcsock and call kernel_sock_shutdown() to wake up
clcsock from accept in smc_release().

Reported-by: syzbot+0bf2e01269f1274b4b03@syzkaller.appspotmail.com
Reported-by: syzbot+e3132895630f957306bc@syzkaller.appspotmail.com
Signed-off-by: Myungho Jung <mhjungk@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/smc/af_smc.c
net/smc/smc.h