On Sun, Apr 18, 2021 at 10:14:22PM +0200, Linus Lüssing wrote:
> [...]
> diff --git a/net/batman-adv/multicast.c b/net/batman-adv/multicast.c
> index 28166402..1d63c8cb 100644
> --- a/net/batman-adv/multicast.c
> +++ b/net/batman-adv/multicast.c
> @@ -454,8 +454,9 @@ batadv_mcast_mla_softif_get_ipv6(struct net_device *dev,
>               return 0;
>       }
>  
> -     read_lock_bh(&in6_dev->lock);
> -     for (pmc6 = in6_dev->mc_list; pmc6; pmc6 = pmc6->next) {
> +     for (pmc6 = rcu_dereference(in6_dev->mc_list);
> +          pmc6;
> +          pmc6 = rcu_dereference(pmc6->next)) {
>               if (IPV6_ADDR_MC_SCOPE(&pmc6->mca_addr) <
>                   IPV6_ADDR_SCOPE_LINKLOCAL)
>                       continue;
> @@ -484,7 +485,6 @@ batadv_mcast_mla_softif_get_ipv6(struct net_device *dev,
>               hlist_add_head(&new->list, mcast_list);
>               ret++;
>       }
> -     read_unlock_bh(&in6_dev->lock);
>       rcu_read_unlock();
>  
>       return ret;
> -- 

Ups, accidentally added this. Will remove that in the next
version.

Reply via email to