This series fixes a schedule lifetime race in `act_gate` between the
control-plane replace path and the running hrtimer callback (gate_timer_func).
Changes since v3:
- Drop and fold the previous patches into a single patch
- Move hrtimer cancellation before rcu_replace_pointer() during cleanup
- Drop the NULL guard
- Treat an explicit empty entry list on REPLACE the same as an omitted entry
list (preserve the existing schedule). CREATE rejects empty or missing
entry lists.
- Split the timer cancel decision from timer setup, cancel outside tcf_lock,
and use hrtimer_active() in gate_start_timer()
Paul Moses (1):
net/sched: act_gate: protect parameters with RCU on replace
include/net/tc_act/tc_gate.h | 29 +++-
net/sched/act_gate.c | 300 ++++++++++++++++++++++++++---------
2 files changed, 246 insertions(+), 83 deletions(-)
--
2.52.GIT