Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit fb3d8949 authored by Neil Horman's avatar Neil Horman Committed by David S. Miller
Browse files

[IPVS]: Close race conditions on ip_vs_conn_tab list modification



In an smp system, it is possible for an connection timer to expire, calling
ip_vs_conn_expire while the connection table is being flushed, before
ct_write_lock_bh is acquired.

Since the list iterator loop in ip_vs_con_flush releases and re-acquires the
spinlock (even though it doesn't re-enable softirqs), it is possible for the
expiration function to modify the connection list, while it is being traversed
in ip_vs_conn_flush.

The result is that the next pointer gets set to NULL, and subsequently
dereferenced, resulting in an oops.

Signed-off-by: default avatarNeil Horman <nhorman@redhat.com>
Acked-by: JulianAnastasov
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 689be439
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment