The address and VLAN ID passed to __fdb_update() match the key of the entry
just found, so we can just use it.

Signed-off-by: Nikolay Aleksandrov <[email protected]>
---
 net/bridge/br_fdb.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/net/bridge/br_fdb.c b/net/bridge/br_fdb.c
index 927e5f23df5b..b601245ad923 100644
--- a/net/bridge/br_fdb.c
+++ b/net/bridge/br_fdb.c
@@ -1000,7 +1000,6 @@ static void __fdb_update(struct net_bridge *br,
                         struct net_bridge_fdb_entry *fdb,
                         struct net_bridge_port *source,
                         struct net_bridge_dst dst,
-                        const unsigned char *addr, u16 vid,
                         unsigned long flags)
 {
        struct net_bridge_port *old_port;
@@ -1012,7 +1011,8 @@ static void __fdb_update(struct net_bridge *br,
        if (unlikely(test_bit(BR_FDB_LOCAL, &fdb->flags))) {
                if (net_ratelimit())
                        br_warn(br, "received packet on %s with own address as 
source address (addr:%pM, vlan:%u)\n",
-                               source->dev->name, addr, vid);
+                               source->dev->name, fdb->key.addr.addr,
+                               fdb->key.vlan_id);
                return;
        }
 
@@ -1055,7 +1055,8 @@ static void __fdb_update(struct net_bridge *br,
        }
 
        if (unlikely(fdb_modified)) {
-               trace_br_fdb_update(br, source, addr, vid, flags);
+               trace_br_fdb_update(br, source, fdb->key.addr.addr,
+                                   fdb->key.vlan_id, flags);
                fdb_notify(br, fdb, RTM_NEWNEIGH, true);
        }
 }
@@ -1075,7 +1076,7 @@ void br_fdb_update(struct net_bridge *br, struct 
net_bridge_port *source,
 
        fdb = fdb_find_rcu(&br->fdb_hash_tbl, addr, vid);
        if (likely(fdb)) {
-               __fdb_update(br, fdb, source, dst, addr, vid, flags);
+               __fdb_update(br, fdb, source, dst, flags);
        } else {
                spin_lock(&br->hash_lock);
                fdb = fdb_create(br, dst, addr, vid, flags);
-- 
2.47.3


Reply via email to