Loading net/hsr/hsr_device.c +5 −5 Original line number Original line Diff line number Diff line Loading @@ -209,7 +209,7 @@ static int slave_xmit(struct sk_buff *skb, struct hsr_priv *hsr_priv, /* Address substitution (IEC62439-3 pp 26, 50): replace mac /* Address substitution (IEC62439-3 pp 26, 50): replace mac * address of outgoing frame with that of the outgoing slave's. * address of outgoing frame with that of the outgoing slave's. */ */ memcpy(hsr_ethhdr->ethhdr.h_source, skb->dev->dev_addr, ETH_ALEN); ether_addr_copy(hsr_ethhdr->ethhdr.h_source, skb->dev->dev_addr); return dev_queue_xmit(skb); return dev_queue_xmit(skb); } } Loading Loading @@ -346,7 +346,7 @@ static void send_hsr_supervision_frame(struct net_device *hsr_dev, u8 type) /* Payload: MacAddressA */ /* Payload: MacAddressA */ hsr_sp = (typeof(hsr_sp)) skb_put(skb, sizeof(*hsr_sp)); hsr_sp = (typeof(hsr_sp)) skb_put(skb, sizeof(*hsr_sp)); memcpy(hsr_sp->MacAddressA, hsr_dev->dev_addr, ETH_ALEN); ether_addr_copy(hsr_sp->MacAddressA, hsr_dev->dev_addr); dev_queue_xmit(skb); dev_queue_xmit(skb); return; return; Loading Loading @@ -493,7 +493,7 @@ static int check_slave_ok(struct net_device *dev) /* Default multicast address for HSR Supervision frames */ /* Default multicast address for HSR Supervision frames */ static const unsigned char def_multicast_addr[ETH_ALEN] = { static const unsigned char def_multicast_addr[ETH_ALEN] __aligned(2) = { 0x01, 0x15, 0x4e, 0x00, 0x01, 0x00 0x01, 0x15, 0x4e, 0x00, 0x01, 0x00 }; }; Loading @@ -519,7 +519,7 @@ int hsr_dev_finalize(struct net_device *hsr_dev, struct net_device *slave[2], hsr_priv->announce_timer.function = hsr_announce; hsr_priv->announce_timer.function = hsr_announce; hsr_priv->announce_timer.data = (unsigned long) hsr_priv; hsr_priv->announce_timer.data = (unsigned long) hsr_priv; memcpy(hsr_priv->sup_multicast_addr, def_multicast_addr, ETH_ALEN); ether_addr_copy(hsr_priv->sup_multicast_addr, def_multicast_addr); hsr_priv->sup_multicast_addr[ETH_ALEN - 1] = multicast_spec; hsr_priv->sup_multicast_addr[ETH_ALEN - 1] = multicast_spec; /* FIXME: should I modify the value of these? /* FIXME: should I modify the value of these? Loading Loading @@ -547,7 +547,7 @@ int hsr_dev_finalize(struct net_device *hsr_dev, struct net_device *slave[2], hsr_dev->features |= NETIF_F_VLAN_CHALLENGED; hsr_dev->features |= NETIF_F_VLAN_CHALLENGED; /* Set hsr_dev's MAC address to that of mac_slave1 */ /* Set hsr_dev's MAC address to that of mac_slave1 */ memcpy(hsr_dev->dev_addr, hsr_priv->slave[0]->dev_addr, ETH_ALEN); ether_addr_copy(hsr_dev->dev_addr, hsr_priv->slave[0]->dev_addr); /* Set required header length */ /* Set required header length */ for (i = 0; i < HSR_MAX_SLAVE; i++) { for (i = 0; i < HSR_MAX_SLAVE; i++) { Loading net/hsr/hsr_framereg.c +10 −10 Original line number Original line Diff line number Diff line Loading @@ -108,8 +108,8 @@ int hsr_create_self_node(struct list_head *self_node_db, if (!node) if (!node) return -ENOMEM; return -ENOMEM; memcpy(node->MacAddressA, addr_a, ETH_ALEN); ether_addr_copy(node->MacAddressA, addr_a); memcpy(node->MacAddressB, addr_b, ETH_ALEN); ether_addr_copy(node->MacAddressB, addr_b); rcu_read_lock(); rcu_read_lock(); oldnode = list_first_or_null_rcu(self_node_db, oldnode = list_first_or_null_rcu(self_node_db, Loading Loading @@ -199,7 +199,7 @@ struct node_entry *hsr_merge_node(struct hsr_priv *hsr_priv, /* Node is known, but frame was received from an unknown /* Node is known, but frame was received from an unknown * address. Node is PICS_SUBS capable; merge its AddrB. * address. Node is PICS_SUBS capable; merge its AddrB. */ */ memcpy(node->MacAddressB, hsr_ethsup->ethhdr.h_source, ETH_ALEN); ether_addr_copy(node->MacAddressB, hsr_ethsup->ethhdr.h_source); node->AddrB_if = dev_idx; node->AddrB_if = dev_idx; return node; return node; } } Loading @@ -208,8 +208,8 @@ struct node_entry *hsr_merge_node(struct hsr_priv *hsr_priv, if (!node) if (!node) return NULL; return NULL; memcpy(node->MacAddressA, hsr_sp->MacAddressA, ETH_ALEN); ether_addr_copy(node->MacAddressA, hsr_sp->MacAddressA); memcpy(node->MacAddressB, hsr_ethsup->ethhdr.h_source, ETH_ALEN); ether_addr_copy(node->MacAddressB, hsr_ethsup->ethhdr.h_source); if (!ether_addr_equal(hsr_sp->MacAddressA, hsr_ethsup->ethhdr.h_source)) if (!ether_addr_equal(hsr_sp->MacAddressA, hsr_ethsup->ethhdr.h_source)) node->AddrB_if = dev_idx; node->AddrB_if = dev_idx; else else Loading Loading @@ -250,7 +250,7 @@ void hsr_addr_subst_source(struct hsr_priv *hsr_priv, struct sk_buff *skb) rcu_read_lock(); rcu_read_lock(); node = find_node_by_AddrB(&hsr_priv->node_db, ethhdr->h_source); node = find_node_by_AddrB(&hsr_priv->node_db, ethhdr->h_source); if (node) if (node) memcpy(ethhdr->h_source, node->MacAddressA, ETH_ALEN); ether_addr_copy(ethhdr->h_source, node->MacAddressA); rcu_read_unlock(); rcu_read_unlock(); } } Loading @@ -272,7 +272,7 @@ void hsr_addr_subst_dest(struct hsr_priv *hsr_priv, struct ethhdr *ethhdr, rcu_read_lock(); rcu_read_lock(); node = find_node_by_AddrA(&hsr_priv->node_db, ethhdr->h_dest); node = find_node_by_AddrA(&hsr_priv->node_db, ethhdr->h_dest); if (node && (node->AddrB_if == dev_idx)) if (node && (node->AddrB_if == dev_idx)) memcpy(ethhdr->h_dest, node->MacAddressB, ETH_ALEN); ether_addr_copy(ethhdr->h_dest, node->MacAddressB); rcu_read_unlock(); rcu_read_unlock(); } } Loading Loading @@ -428,13 +428,13 @@ void *hsr_get_next_node(struct hsr_priv *hsr_priv, void *_pos, node = list_first_or_null_rcu(&hsr_priv->node_db, node = list_first_or_null_rcu(&hsr_priv->node_db, struct node_entry, mac_list); struct node_entry, mac_list); if (node) if (node) memcpy(addr, node->MacAddressA, ETH_ALEN); ether_addr_copy(addr, node->MacAddressA); return node; return node; } } node = _pos; node = _pos; list_for_each_entry_continue_rcu(node, &hsr_priv->node_db, mac_list) { list_for_each_entry_continue_rcu(node, &hsr_priv->node_db, mac_list) { memcpy(addr, node->MacAddressA, ETH_ALEN); ether_addr_copy(addr, node->MacAddressA); return node; return node; } } Loading Loading @@ -462,7 +462,7 @@ int hsr_get_node_data(struct hsr_priv *hsr_priv, return -ENOENT; /* No such entry */ return -ENOENT; /* No such entry */ } } memcpy(addr_b, node->MacAddressB, ETH_ALEN); ether_addr_copy(addr_b, node->MacAddressB); tdiff = jiffies - node->time_in[HSR_DEV_SLAVE_A]; tdiff = jiffies - node->time_in[HSR_DEV_SLAVE_A]; if (node->time_in_stale[HSR_DEV_SLAVE_A]) if (node->time_in_stale[HSR_DEV_SLAVE_A]) Loading net/hsr/hsr_main.c +2 −2 Original line number Original line Diff line number Diff line Loading @@ -138,8 +138,8 @@ static int hsr_netdev_notify(struct notifier_block *nb, unsigned long event, break; break; if (dev == hsr_priv->slave[0]) if (dev == hsr_priv->slave[0]) memcpy(hsr_priv->dev->dev_addr, ether_addr_copy(hsr_priv->dev->dev_addr, hsr_priv->slave[0]->dev_addr, ETH_ALEN); hsr_priv->slave[0]->dev_addr); /* Make sure we recognize frames from ourselves in hsr_rcv() */ /* Make sure we recognize frames from ourselves in hsr_rcv() */ res = hsr_create_self_node(&hsr_priv->self_node_db, res = hsr_create_self_node(&hsr_priv->self_node_db, Loading Loading
net/hsr/hsr_device.c +5 −5 Original line number Original line Diff line number Diff line Loading @@ -209,7 +209,7 @@ static int slave_xmit(struct sk_buff *skb, struct hsr_priv *hsr_priv, /* Address substitution (IEC62439-3 pp 26, 50): replace mac /* Address substitution (IEC62439-3 pp 26, 50): replace mac * address of outgoing frame with that of the outgoing slave's. * address of outgoing frame with that of the outgoing slave's. */ */ memcpy(hsr_ethhdr->ethhdr.h_source, skb->dev->dev_addr, ETH_ALEN); ether_addr_copy(hsr_ethhdr->ethhdr.h_source, skb->dev->dev_addr); return dev_queue_xmit(skb); return dev_queue_xmit(skb); } } Loading Loading @@ -346,7 +346,7 @@ static void send_hsr_supervision_frame(struct net_device *hsr_dev, u8 type) /* Payload: MacAddressA */ /* Payload: MacAddressA */ hsr_sp = (typeof(hsr_sp)) skb_put(skb, sizeof(*hsr_sp)); hsr_sp = (typeof(hsr_sp)) skb_put(skb, sizeof(*hsr_sp)); memcpy(hsr_sp->MacAddressA, hsr_dev->dev_addr, ETH_ALEN); ether_addr_copy(hsr_sp->MacAddressA, hsr_dev->dev_addr); dev_queue_xmit(skb); dev_queue_xmit(skb); return; return; Loading Loading @@ -493,7 +493,7 @@ static int check_slave_ok(struct net_device *dev) /* Default multicast address for HSR Supervision frames */ /* Default multicast address for HSR Supervision frames */ static const unsigned char def_multicast_addr[ETH_ALEN] = { static const unsigned char def_multicast_addr[ETH_ALEN] __aligned(2) = { 0x01, 0x15, 0x4e, 0x00, 0x01, 0x00 0x01, 0x15, 0x4e, 0x00, 0x01, 0x00 }; }; Loading @@ -519,7 +519,7 @@ int hsr_dev_finalize(struct net_device *hsr_dev, struct net_device *slave[2], hsr_priv->announce_timer.function = hsr_announce; hsr_priv->announce_timer.function = hsr_announce; hsr_priv->announce_timer.data = (unsigned long) hsr_priv; hsr_priv->announce_timer.data = (unsigned long) hsr_priv; memcpy(hsr_priv->sup_multicast_addr, def_multicast_addr, ETH_ALEN); ether_addr_copy(hsr_priv->sup_multicast_addr, def_multicast_addr); hsr_priv->sup_multicast_addr[ETH_ALEN - 1] = multicast_spec; hsr_priv->sup_multicast_addr[ETH_ALEN - 1] = multicast_spec; /* FIXME: should I modify the value of these? /* FIXME: should I modify the value of these? Loading Loading @@ -547,7 +547,7 @@ int hsr_dev_finalize(struct net_device *hsr_dev, struct net_device *slave[2], hsr_dev->features |= NETIF_F_VLAN_CHALLENGED; hsr_dev->features |= NETIF_F_VLAN_CHALLENGED; /* Set hsr_dev's MAC address to that of mac_slave1 */ /* Set hsr_dev's MAC address to that of mac_slave1 */ memcpy(hsr_dev->dev_addr, hsr_priv->slave[0]->dev_addr, ETH_ALEN); ether_addr_copy(hsr_dev->dev_addr, hsr_priv->slave[0]->dev_addr); /* Set required header length */ /* Set required header length */ for (i = 0; i < HSR_MAX_SLAVE; i++) { for (i = 0; i < HSR_MAX_SLAVE; i++) { Loading
net/hsr/hsr_framereg.c +10 −10 Original line number Original line Diff line number Diff line Loading @@ -108,8 +108,8 @@ int hsr_create_self_node(struct list_head *self_node_db, if (!node) if (!node) return -ENOMEM; return -ENOMEM; memcpy(node->MacAddressA, addr_a, ETH_ALEN); ether_addr_copy(node->MacAddressA, addr_a); memcpy(node->MacAddressB, addr_b, ETH_ALEN); ether_addr_copy(node->MacAddressB, addr_b); rcu_read_lock(); rcu_read_lock(); oldnode = list_first_or_null_rcu(self_node_db, oldnode = list_first_or_null_rcu(self_node_db, Loading Loading @@ -199,7 +199,7 @@ struct node_entry *hsr_merge_node(struct hsr_priv *hsr_priv, /* Node is known, but frame was received from an unknown /* Node is known, but frame was received from an unknown * address. Node is PICS_SUBS capable; merge its AddrB. * address. Node is PICS_SUBS capable; merge its AddrB. */ */ memcpy(node->MacAddressB, hsr_ethsup->ethhdr.h_source, ETH_ALEN); ether_addr_copy(node->MacAddressB, hsr_ethsup->ethhdr.h_source); node->AddrB_if = dev_idx; node->AddrB_if = dev_idx; return node; return node; } } Loading @@ -208,8 +208,8 @@ struct node_entry *hsr_merge_node(struct hsr_priv *hsr_priv, if (!node) if (!node) return NULL; return NULL; memcpy(node->MacAddressA, hsr_sp->MacAddressA, ETH_ALEN); ether_addr_copy(node->MacAddressA, hsr_sp->MacAddressA); memcpy(node->MacAddressB, hsr_ethsup->ethhdr.h_source, ETH_ALEN); ether_addr_copy(node->MacAddressB, hsr_ethsup->ethhdr.h_source); if (!ether_addr_equal(hsr_sp->MacAddressA, hsr_ethsup->ethhdr.h_source)) if (!ether_addr_equal(hsr_sp->MacAddressA, hsr_ethsup->ethhdr.h_source)) node->AddrB_if = dev_idx; node->AddrB_if = dev_idx; else else Loading Loading @@ -250,7 +250,7 @@ void hsr_addr_subst_source(struct hsr_priv *hsr_priv, struct sk_buff *skb) rcu_read_lock(); rcu_read_lock(); node = find_node_by_AddrB(&hsr_priv->node_db, ethhdr->h_source); node = find_node_by_AddrB(&hsr_priv->node_db, ethhdr->h_source); if (node) if (node) memcpy(ethhdr->h_source, node->MacAddressA, ETH_ALEN); ether_addr_copy(ethhdr->h_source, node->MacAddressA); rcu_read_unlock(); rcu_read_unlock(); } } Loading @@ -272,7 +272,7 @@ void hsr_addr_subst_dest(struct hsr_priv *hsr_priv, struct ethhdr *ethhdr, rcu_read_lock(); rcu_read_lock(); node = find_node_by_AddrA(&hsr_priv->node_db, ethhdr->h_dest); node = find_node_by_AddrA(&hsr_priv->node_db, ethhdr->h_dest); if (node && (node->AddrB_if == dev_idx)) if (node && (node->AddrB_if == dev_idx)) memcpy(ethhdr->h_dest, node->MacAddressB, ETH_ALEN); ether_addr_copy(ethhdr->h_dest, node->MacAddressB); rcu_read_unlock(); rcu_read_unlock(); } } Loading Loading @@ -428,13 +428,13 @@ void *hsr_get_next_node(struct hsr_priv *hsr_priv, void *_pos, node = list_first_or_null_rcu(&hsr_priv->node_db, node = list_first_or_null_rcu(&hsr_priv->node_db, struct node_entry, mac_list); struct node_entry, mac_list); if (node) if (node) memcpy(addr, node->MacAddressA, ETH_ALEN); ether_addr_copy(addr, node->MacAddressA); return node; return node; } } node = _pos; node = _pos; list_for_each_entry_continue_rcu(node, &hsr_priv->node_db, mac_list) { list_for_each_entry_continue_rcu(node, &hsr_priv->node_db, mac_list) { memcpy(addr, node->MacAddressA, ETH_ALEN); ether_addr_copy(addr, node->MacAddressA); return node; return node; } } Loading Loading @@ -462,7 +462,7 @@ int hsr_get_node_data(struct hsr_priv *hsr_priv, return -ENOENT; /* No such entry */ return -ENOENT; /* No such entry */ } } memcpy(addr_b, node->MacAddressB, ETH_ALEN); ether_addr_copy(addr_b, node->MacAddressB); tdiff = jiffies - node->time_in[HSR_DEV_SLAVE_A]; tdiff = jiffies - node->time_in[HSR_DEV_SLAVE_A]; if (node->time_in_stale[HSR_DEV_SLAVE_A]) if (node->time_in_stale[HSR_DEV_SLAVE_A]) Loading
net/hsr/hsr_main.c +2 −2 Original line number Original line Diff line number Diff line Loading @@ -138,8 +138,8 @@ static int hsr_netdev_notify(struct notifier_block *nb, unsigned long event, break; break; if (dev == hsr_priv->slave[0]) if (dev == hsr_priv->slave[0]) memcpy(hsr_priv->dev->dev_addr, ether_addr_copy(hsr_priv->dev->dev_addr, hsr_priv->slave[0]->dev_addr, ETH_ALEN); hsr_priv->slave[0]->dev_addr); /* Make sure we recognize frames from ourselves in hsr_rcv() */ /* Make sure we recognize frames from ourselves in hsr_rcv() */ res = hsr_create_self_node(&hsr_priv->self_node_db, res = hsr_create_self_node(&hsr_priv->self_node_db, Loading