[PATCH net-next v2 0/2] ipv6: mcast: annotate data races in /proc/net/igmp6
From: Yuyang Huang
Date: Tue Jun 09 2026 - 04:14:43 EST
/proc/net/igmp6 walks IPv6 multicast memberships under RCU without
holding idev->mc_lock, taking a lockless snapshot of two fields that
writers update under the lock: mca_flags and mca_work.timer.expires.
Patch 1 adds WRITE_ONCE() to all mca_flags update sites and READ_ONCE()
to the procfs reader. Patch 2 does the same for the timer.expires read
in the procfs path.
Changes in v2:
- patch 2: read mca_flags before timer.expires to match write-side
ordering and avoid printing a garbage timer value.
Yuyang Huang (2):
ipv6: mcast: annotate data-races around mca_flags
ipv6: mcast: annotate igmp6 timer expiry race
net/ipv6/mcast.c | 55 ++++++++++++++++++++++++++++++------------------
1 file changed, 34 insertions(+), 21 deletions(-)
--
2.43.0