Re: [PATCH v2] bridge: Fix a deadlock when enabling multicast snooping

2020-12-04 Thread Huang, Joseph
> > + if (join_snoopers) > > + br_multicast_join_snoopers(br); > > + else if (leave_snoopers) > > + br_multicast_leave_snoopers(br); > > If I'm not missing anything this can be just 1 bool like "change_snoopers" or > something which if set to true will check BROPT_M

Re: [PATCH v2] bridge: Fix a deadlock when enabling multicast snooping

2020-12-04 Thread Nikolay Aleksandrov
On 04/12/2020 23:39, Joseph Huang wrote: > When enabling multicast snooping, bridge module deadlocks on multicast_lock > if 1) IPv6 is enabled, and 2) there is an existing querier on the same L2 > network. > > The deadlock was caused by the following sequence: While holding the lock, > br_multicas

[PATCH v2] bridge: Fix a deadlock when enabling multicast snooping

2020-12-04 Thread Joseph Huang
When enabling multicast snooping, bridge module deadlocks on multicast_lock if 1) IPv6 is enabled, and 2) there is an existing querier on the same L2 network. The deadlock was caused by the following sequence: While holding the lock, br_multicast_open calls br_multicast_join_snoopers, which eventu