On 6/17/25 1:28 AM, Kuniyuki Iwashima wrote:
quoted hunk ↗ jump to hunk
@@ -2072,10 +2086,7 @@ static void mld_send_report(struct inet6_dev *idev, struct ifmcaddr6 *pmc)
mld_sendpack(skb);
}
-/*
- * remove zero-count source records from a source filter list
- * called with mc_lock
- */
+/* remove zero-count source records from a source filter list */
static void mld_clear_zeros(struct ip6_sf_list __rcu **ppsf, struct inet6_dev *idev)
{
struct ip6_sf_list *psf_prev, *psf_next, *psf;@@ -2099,7 +2110,6 @@ static void mld_clear_zeros(struct ip6_sf_list __rcu **ppsf, struct inet6_dev *i
}
}
-/* called with mc_lock */
static void mld_send_cr(struct inet6_dev *idev)
{
struct ifmcaddr6 *pmc, *pmc_prev, *pmc_next;
Why are you not adding the annotation in the above 2 places? AFAICS
mld_send_cr() is called only by mld_ifc_work(), after acquiring the
relevant lock, and mld_clear_zeros() is only called by mld_send_cr(),
still under the same lock.
/P