[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220606201910.2da95056@hermes.local>
Date: Mon, 6 Jun 2022 20:19:10 -0700
From: Stephen Hemminger <stephen@...workplumber.org>
To: Andy Roulin <aroulin@...dia.com>
Cc: fruggeri@...sta.com, netdev@...r.kernel.org
Subject: Re: neighbour netlink notifications delivered in wrong order
On Mon, 6 Jun 2022 19:07:04 -0700
Andy Roulin <aroulin@...dia.com> wrote:
> diff --git a/net/core/neighbour.c b/net/core/neighbour.c
> index 54625287ee5b..a91dfcbfc01c 100644
> --- a/net/core/neighbour.c
> +++ b/net/core/neighbour.c
> @@ -2531,23 +2531,19 @@ static int neigh_fill_info(struct sk_buff *skb,
> struct neighbour *neigh,
> if (nla_put(skb, NDA_DST, neigh->tbl->key_len, neigh->primary_key))
> goto nla_put_failure;
>
> - read_lock_bh(&neigh->lock);
> ndm->ndm_state = neigh->nud_state;
Accessing neighbor state outside of lock is not safe.
But you should be able to use RCU here??
Powered by blists - more mailing lists