lkml.org 
[lkml]   [2021]   [Jun]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 137/137] neighbour: allow NUD_NOARP entries to be forced GCed
    Date
    From: David Ahern <dsahern@kernel.org>

    commit 7a6b1ab7475fd6478eeaf5c9d1163e7a18125c8f upstream.

    IFF_POINTOPOINT interfaces use NUD_NOARP entries for IPv6. It's possible to
    fill up the neighbour table with enough entries that it will overflow for
    valid connections after that.

    This behaviour is more prevalent after commit 58956317c8de ("neighbor:
    Improve garbage collection") is applied, as it prevents removal from
    entries that are not NUD_FAILED, unless they are more than 5s old.

    Fixes: 58956317c8de (neighbor: Improve garbage collection)
    Reported-by: Kasper Dupont <kasperd@gjkwv.06.feb.2021.kasperd.net>
    Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
    Signed-off-by: David Ahern <dsahern@kernel.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    net/core/neighbour.c | 1 +
    1 file changed, 1 insertion(+)

    --- a/net/core/neighbour.c
    +++ b/net/core/neighbour.c
    @@ -239,6 +239,7 @@ static int neigh_forced_gc(struct neigh_

    write_lock(&n->lock);
    if ((n->nud_state == NUD_FAILED) ||
    + (n->nud_state == NUD_NOARP) ||
    (tbl->is_multicast &&
    tbl->is_multicast(n->primary_key)) ||
    time_after(tref, n->updated))

    \
     
     \ /
      Last update: 2021-06-08 21:12    [W:2.248 / U:0.204 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site