mirror of
https://github.com/torvalds/linux.git
synced 2026-06-05 21:15:53 +02:00
MPTCP sk_forward_memory handling is a bit special, as such field
is protected by the msk socket spin_lock, instead of the plain
socket lock.
Currently we have a code path updating such field without handling
the relevant lock:
__mptcp_retrans() -> __mptcp_clean_una_wakeup()
Several helpers in __mptcp_clean_una_wakeup() will update
sk_forward_alloc, possibly causing such field corruption, as reported
by Matthieu.
Address the issue providing and using a new variant of blamed function
which explicitly acquires the msk spin lock.
Fixes:
|
||
|---|---|---|
| .. | ||
| crypto_test.c | ||
| crypto.c | ||
| ctrl.c | ||
| diag.c | ||
| Kconfig | ||
| Makefile | ||
| mib.c | ||
| mib.h | ||
| mptcp_diag.c | ||
| options.c | ||
| pm_netlink.c | ||
| pm.c | ||
| protocol.c | ||
| protocol.h | ||
| sockopt.c | ||
| subflow.c | ||
| syncookies.c | ||
| token_test.c | ||
| token.c | ||