llc: delete timers synchronously in llc_sk_free()
authorCong Wang <xiyou.wangcong@gmail.com>
Thu, 19 Apr 2018 19:25:38 +0000 (12:25 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sun, 22 Apr 2018 18:55:03 +0000 (14:55 -0400)
commitb905ef9ab90115d001c1658259af4b1c65088779
tree2eba79255f0ba6a79192f88ee1a3c6caf7326cf9
parent5411b6187adf62909e3b998ac782e722904c7487
llc: delete timers synchronously in llc_sk_free()

The connection timers of an llc sock could be still flying
after we delete them in llc_sk_free(), and even possibly
after we free the sock. We could just wait synchronously
here in case of troubles.

Note, I leave other call paths as they are, since they may
not have to wait, at least we can change them to synchronously
when needed.

Also, move the code to net/llc/llc_conn.c, which is apparently
a better place.

Reported-by: <syzbot+f922284c18ea23a8e457@syzkaller.appspotmail.com>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/llc_conn.h
net/llc/llc_c_ac.c
net/llc/llc_conn.c