aboutsummaryrefslogtreecommitdiff
path: root/fs/seq_file.c
diff options
context:
space:
mode:
authorChristian Marangi2023-07-24 05:25:29 +0200
committerGreg Kroah-Hartman2023-08-03 10:24:15 +0200
commitd42c326288ac2f20eb1b6f1a1008433e061a84c8 (patch)
tree3a7a8cd278d6fc17bc497f113733df30a4bde48c /fs/seq_file.c
parente1fda7c1250f3142ece24fca8aab6a48a456d83c (diff)
net: dsa: qca8k: fix search_and_insert wrong handling of new rule
commit 80248d4160894d7e40b04111bdbaa4ff93fc4bd7 upstream. On inserting a mdb entry, fdb_search_and_insert is used to add a port to the qca8k target entry in the FDB db. A FDB entry can't be modified so it needs to be removed and insert again with the new values. To detect if an entry already exist, the SEARCH operation is used and we check the aging of the entry. If the entry is not 0, the entry exist and we proceed to delete it. Current code have 2 main problem: - The condition to check if the FDB entry exist is wrong and should be the opposite. - When a FDB entry doesn't exist, aging was never actually set to the STATIC value resulting in allocating an invalid entry. Fix both problem by adding aging support to the function, calling the function with STATIC as aging by default and finally by correct the condition to check if the entry actually exist. Fixes: ba8f870dfa63 ("net: dsa: qca8k: add support for mdb_add/del") Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> Cc: stable@vger.kernel.org Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/seq_file.c')
0 files changed, 0 insertions, 0 deletions