mirror of https://github.com/torvalds/linux.git
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 | ||