Loading net/batman-adv/hard-interface.c +1 −1 Original line number Diff line number Diff line Loading @@ -187,7 +187,7 @@ static void check_known_mac_addr(struct net_device *net_dev) if (batman_if->net_dev == net_dev) continue; if (!compare_orig(batman_if->net_dev->dev_addr, if (!compare_eth(batman_if->net_dev->dev_addr, net_dev->dev_addr)) continue; Loading net/batman-adv/main.c +1 −1 Original line number Diff line number Diff line Loading @@ -161,7 +161,7 @@ int is_my_mac(uint8_t *addr) if (batman_if->if_status != IF_ACTIVE) continue; if (compare_orig(batman_if->net_dev->dev_addr, addr)) { if (compare_eth(batman_if->net_dev->dev_addr, addr)) { rcu_read_unlock(); return 1; } Loading net/batman-adv/main.h +10 −0 Original line number Diff line number Diff line Loading @@ -165,4 +165,14 @@ static inline void bat_dbg(char type __always_unused, pr_err("%s: " fmt, _netdev->name, ## arg); \ } while (0) /** * returns 1 if they are the same ethernet addr * * note: can't use compare_ether_addr() as it requires aligned memory */ static inline int compare_eth(void *data1, void *data2) { return (memcmp(data1, data2, ETH_ALEN) == 0 ? 1 : 0); } #endif /* _NET_BATMAN_ADV_MAIN_H_ */ net/batman-adv/routing.c +27 −28 Original line number Diff line number Diff line Loading @@ -163,7 +163,7 @@ static int is_bidirectional_neigh(struct orig_node *orig_node, hlist_for_each_entry_rcu(tmp_neigh_node, node, &orig_node->neigh_list, list) { if (compare_orig(tmp_neigh_node->addr, if (compare_eth(tmp_neigh_node->addr, orig_neigh_node->orig) && (tmp_neigh_node->if_incoming == if_incoming)) neigh_node = tmp_neigh_node; Loading Loading @@ -192,7 +192,7 @@ static int is_bidirectional_neigh(struct orig_node *orig_node, hlist_for_each_entry_rcu(tmp_neigh_node, node, &orig_neigh_node->neigh_list, list) { if (compare_orig(tmp_neigh_node->addr, if (compare_eth(tmp_neigh_node->addr, orig_neigh_node->orig) && (tmp_neigh_node->if_incoming == if_incoming)) neigh_node = tmp_neigh_node; Loading Loading @@ -304,7 +304,7 @@ static void bonding_candidate_add(struct orig_node *orig_node, spin_lock_bh(&orig_node->neigh_list_lock); /* only consider if it has the same primary address ... */ if (!compare_orig(orig_node->orig, if (!compare_eth(orig_node->orig, neigh_node->orig_node->primary_addr)) goto candidate_del; Loading Loading @@ -334,7 +334,7 @@ static void bonding_candidate_add(struct orig_node *orig_node, continue; if ((neigh_node->if_incoming == tmp_neigh_node->if_incoming) || (compare_orig(neigh_node->addr, tmp_neigh_node->addr))) { (compare_eth(neigh_node->addr, tmp_neigh_node->addr))) { interference_candidate = 1; break; } Loading Loading @@ -394,7 +394,7 @@ static void update_orig(struct bat_priv *bat_priv, rcu_read_lock(); hlist_for_each_entry_rcu(tmp_neigh_node, node, &orig_node->neigh_list, list) { if (compare_orig(tmp_neigh_node->addr, ethhdr->h_source) && if (compare_eth(tmp_neigh_node->addr, ethhdr->h_source) && (tmp_neigh_node->if_incoming == if_incoming) && atomic_inc_not_zero(&tmp_neigh_node->refcount)) { if (neigh_node) Loading Loading @@ -579,7 +579,7 @@ static char count_real_packets(struct ethhdr *ethhdr, orig_node->last_real_seqno, batman_packet->seqno); if (compare_orig(tmp_neigh_node->addr, ethhdr->h_source) && if (compare_eth(tmp_neigh_node->addr, ethhdr->h_source) && (tmp_neigh_node->if_incoming == if_incoming)) set_mark = 1; else Loading Loading @@ -644,7 +644,7 @@ void receive_bat_packet(struct ethhdr *ethhdr, has_directlink_flag = (batman_packet->flags & DIRECTLINK ? 1 : 0); is_single_hop_neigh = (compare_orig(ethhdr->h_source, is_single_hop_neigh = (compare_eth(ethhdr->h_source, batman_packet->orig) ? 1 : 0); bat_dbg(DBG_BATMAN, bat_priv, Loading @@ -665,19 +665,19 @@ void receive_bat_packet(struct ethhdr *ethhdr, if (batman_if->soft_iface != if_incoming->soft_iface) continue; if (compare_orig(ethhdr->h_source, if (compare_eth(ethhdr->h_source, batman_if->net_dev->dev_addr)) is_my_addr = 1; if (compare_orig(batman_packet->orig, if (compare_eth(batman_packet->orig, batman_if->net_dev->dev_addr)) is_my_orig = 1; if (compare_orig(batman_packet->prev_sender, if (compare_eth(batman_packet->prev_sender, batman_if->net_dev->dev_addr)) is_my_oldorig = 1; if (compare_orig(ethhdr->h_source, broadcast_addr)) if (compare_eth(ethhdr->h_source, broadcast_addr)) is_broadcast = 1; } rcu_read_unlock(); Loading Loading @@ -717,7 +717,7 @@ void receive_bat_packet(struct ethhdr *ethhdr, /* if received seqno equals last send seqno save new * seqno for bidirectional check */ if (has_directlink_flag && compare_orig(if_incoming->net_dev->dev_addr, compare_eth(if_incoming->net_dev->dev_addr, batman_packet->orig) && (batman_packet->seqno - if_incoming_seqno + 2 == 0)) { offset = if_incoming->if_num * NUM_WORDS; Loading Loading @@ -765,10 +765,10 @@ void receive_bat_packet(struct ethhdr *ethhdr, /* avoid temporary routing loops */ if ((orig_node->router) && (orig_node->router->orig_node->router) && (compare_orig(orig_node->router->addr, (compare_eth(orig_node->router->addr, batman_packet->prev_sender)) && !(compare_orig(batman_packet->orig, batman_packet->prev_sender)) && (compare_orig(orig_node->router->addr, !(compare_eth(batman_packet->orig, batman_packet->prev_sender)) && (compare_eth(orig_node->router->addr, orig_node->router->orig_node->router->addr))) { bat_dbg(DBG_BATMAN, bat_priv, "Drop packet: ignoring all rebroadcast packets that " Loading Loading @@ -1185,14 +1185,13 @@ struct neigh_node *find_router(struct bat_priv *bat_priv, /* if we have something in the primary_addr, we can search * for a potential bonding candidate. */ if (memcmp(router_orig->primary_addr, zero_mac, ETH_ALEN) == 0) if (compare_eth(router_orig->primary_addr, zero_mac)) goto return_router; /* find the orig_node which has the primary interface. might * even be the same as our router_orig in many cases */ if (memcmp(router_orig->primary_addr, router_orig->orig, ETH_ALEN) == 0) { if (compare_eth(router_orig->primary_addr, router_orig->orig)) { primary_orig_node = router_orig; } else { primary_orig_node = hash_find(bat_priv->orig_hash, compare_orig, Loading net/batman-adv/send.c +1 −1 Original line number Diff line number Diff line Loading @@ -326,7 +326,7 @@ void schedule_forward_packet(struct orig_node *orig_node, if ((orig_node->router) && (orig_node->router->tq_avg != 0)) { /* rebroadcast ogm of best ranking neighbor as is */ if (!compare_orig(orig_node->router->addr, ethhdr->h_source)) { if (!compare_eth(orig_node->router->addr, ethhdr->h_source)) { batman_packet->tq = orig_node->router->tq_avg; if (orig_node->router->last_ttl) Loading Loading
net/batman-adv/hard-interface.c +1 −1 Original line number Diff line number Diff line Loading @@ -187,7 +187,7 @@ static void check_known_mac_addr(struct net_device *net_dev) if (batman_if->net_dev == net_dev) continue; if (!compare_orig(batman_if->net_dev->dev_addr, if (!compare_eth(batman_if->net_dev->dev_addr, net_dev->dev_addr)) continue; Loading
net/batman-adv/main.c +1 −1 Original line number Diff line number Diff line Loading @@ -161,7 +161,7 @@ int is_my_mac(uint8_t *addr) if (batman_if->if_status != IF_ACTIVE) continue; if (compare_orig(batman_if->net_dev->dev_addr, addr)) { if (compare_eth(batman_if->net_dev->dev_addr, addr)) { rcu_read_unlock(); return 1; } Loading
net/batman-adv/main.h +10 −0 Original line number Diff line number Diff line Loading @@ -165,4 +165,14 @@ static inline void bat_dbg(char type __always_unused, pr_err("%s: " fmt, _netdev->name, ## arg); \ } while (0) /** * returns 1 if they are the same ethernet addr * * note: can't use compare_ether_addr() as it requires aligned memory */ static inline int compare_eth(void *data1, void *data2) { return (memcmp(data1, data2, ETH_ALEN) == 0 ? 1 : 0); } #endif /* _NET_BATMAN_ADV_MAIN_H_ */
net/batman-adv/routing.c +27 −28 Original line number Diff line number Diff line Loading @@ -163,7 +163,7 @@ static int is_bidirectional_neigh(struct orig_node *orig_node, hlist_for_each_entry_rcu(tmp_neigh_node, node, &orig_node->neigh_list, list) { if (compare_orig(tmp_neigh_node->addr, if (compare_eth(tmp_neigh_node->addr, orig_neigh_node->orig) && (tmp_neigh_node->if_incoming == if_incoming)) neigh_node = tmp_neigh_node; Loading Loading @@ -192,7 +192,7 @@ static int is_bidirectional_neigh(struct orig_node *orig_node, hlist_for_each_entry_rcu(tmp_neigh_node, node, &orig_neigh_node->neigh_list, list) { if (compare_orig(tmp_neigh_node->addr, if (compare_eth(tmp_neigh_node->addr, orig_neigh_node->orig) && (tmp_neigh_node->if_incoming == if_incoming)) neigh_node = tmp_neigh_node; Loading Loading @@ -304,7 +304,7 @@ static void bonding_candidate_add(struct orig_node *orig_node, spin_lock_bh(&orig_node->neigh_list_lock); /* only consider if it has the same primary address ... */ if (!compare_orig(orig_node->orig, if (!compare_eth(orig_node->orig, neigh_node->orig_node->primary_addr)) goto candidate_del; Loading Loading @@ -334,7 +334,7 @@ static void bonding_candidate_add(struct orig_node *orig_node, continue; if ((neigh_node->if_incoming == tmp_neigh_node->if_incoming) || (compare_orig(neigh_node->addr, tmp_neigh_node->addr))) { (compare_eth(neigh_node->addr, tmp_neigh_node->addr))) { interference_candidate = 1; break; } Loading Loading @@ -394,7 +394,7 @@ static void update_orig(struct bat_priv *bat_priv, rcu_read_lock(); hlist_for_each_entry_rcu(tmp_neigh_node, node, &orig_node->neigh_list, list) { if (compare_orig(tmp_neigh_node->addr, ethhdr->h_source) && if (compare_eth(tmp_neigh_node->addr, ethhdr->h_source) && (tmp_neigh_node->if_incoming == if_incoming) && atomic_inc_not_zero(&tmp_neigh_node->refcount)) { if (neigh_node) Loading Loading @@ -579,7 +579,7 @@ static char count_real_packets(struct ethhdr *ethhdr, orig_node->last_real_seqno, batman_packet->seqno); if (compare_orig(tmp_neigh_node->addr, ethhdr->h_source) && if (compare_eth(tmp_neigh_node->addr, ethhdr->h_source) && (tmp_neigh_node->if_incoming == if_incoming)) set_mark = 1; else Loading Loading @@ -644,7 +644,7 @@ void receive_bat_packet(struct ethhdr *ethhdr, has_directlink_flag = (batman_packet->flags & DIRECTLINK ? 1 : 0); is_single_hop_neigh = (compare_orig(ethhdr->h_source, is_single_hop_neigh = (compare_eth(ethhdr->h_source, batman_packet->orig) ? 1 : 0); bat_dbg(DBG_BATMAN, bat_priv, Loading @@ -665,19 +665,19 @@ void receive_bat_packet(struct ethhdr *ethhdr, if (batman_if->soft_iface != if_incoming->soft_iface) continue; if (compare_orig(ethhdr->h_source, if (compare_eth(ethhdr->h_source, batman_if->net_dev->dev_addr)) is_my_addr = 1; if (compare_orig(batman_packet->orig, if (compare_eth(batman_packet->orig, batman_if->net_dev->dev_addr)) is_my_orig = 1; if (compare_orig(batman_packet->prev_sender, if (compare_eth(batman_packet->prev_sender, batman_if->net_dev->dev_addr)) is_my_oldorig = 1; if (compare_orig(ethhdr->h_source, broadcast_addr)) if (compare_eth(ethhdr->h_source, broadcast_addr)) is_broadcast = 1; } rcu_read_unlock(); Loading Loading @@ -717,7 +717,7 @@ void receive_bat_packet(struct ethhdr *ethhdr, /* if received seqno equals last send seqno save new * seqno for bidirectional check */ if (has_directlink_flag && compare_orig(if_incoming->net_dev->dev_addr, compare_eth(if_incoming->net_dev->dev_addr, batman_packet->orig) && (batman_packet->seqno - if_incoming_seqno + 2 == 0)) { offset = if_incoming->if_num * NUM_WORDS; Loading Loading @@ -765,10 +765,10 @@ void receive_bat_packet(struct ethhdr *ethhdr, /* avoid temporary routing loops */ if ((orig_node->router) && (orig_node->router->orig_node->router) && (compare_orig(orig_node->router->addr, (compare_eth(orig_node->router->addr, batman_packet->prev_sender)) && !(compare_orig(batman_packet->orig, batman_packet->prev_sender)) && (compare_orig(orig_node->router->addr, !(compare_eth(batman_packet->orig, batman_packet->prev_sender)) && (compare_eth(orig_node->router->addr, orig_node->router->orig_node->router->addr))) { bat_dbg(DBG_BATMAN, bat_priv, "Drop packet: ignoring all rebroadcast packets that " Loading Loading @@ -1185,14 +1185,13 @@ struct neigh_node *find_router(struct bat_priv *bat_priv, /* if we have something in the primary_addr, we can search * for a potential bonding candidate. */ if (memcmp(router_orig->primary_addr, zero_mac, ETH_ALEN) == 0) if (compare_eth(router_orig->primary_addr, zero_mac)) goto return_router; /* find the orig_node which has the primary interface. might * even be the same as our router_orig in many cases */ if (memcmp(router_orig->primary_addr, router_orig->orig, ETH_ALEN) == 0) { if (compare_eth(router_orig->primary_addr, router_orig->orig)) { primary_orig_node = router_orig; } else { primary_orig_node = hash_find(bat_priv->orig_hash, compare_orig, Loading
net/batman-adv/send.c +1 −1 Original line number Diff line number Diff line Loading @@ -326,7 +326,7 @@ void schedule_forward_packet(struct orig_node *orig_node, if ((orig_node->router) && (orig_node->router->tq_avg != 0)) { /* rebroadcast ogm of best ranking neighbor as is */ if (!compare_orig(orig_node->router->addr, ethhdr->h_source)) { if (!compare_eth(orig_node->router->addr, ethhdr->h_source)) { batman_packet->tq = orig_node->router->tq_avg; if (orig_node->router->last_ttl) Loading