9a368aff9c
Several times already this has been reported as kasan reports caused by
syzkaller and trinity and people always looked at RCU races, but it is
much more simple. :)
In case we bind a pptp socket multiple times, we simply add it to
the callid_sock list but don't remove the old binding. Thus the old
socket stays in the bucket with unused call_id indexes and doesn't get
cleaned up. This causes various forms of kasan reports which were hard
to pinpoint.
Simply don't allow multiple binds and correct error handling in
pptp_bind. Also keep sk_state bits in place in pptp_connect.
Fixes:
|
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
bsd_comp.c | ||
ppp_async.c | ||
ppp_deflate.c | ||
ppp_generic.c | ||
ppp_mppe.c | ||
ppp_mppe.h | ||
ppp_synctty.c | ||
pppoe.c | ||
pppox.c | ||
pptp.c |