.. | .. |
---|
123 | 123 | { |
---|
124 | 124 | struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface); |
---|
125 | 125 | |
---|
126 | | - if (hard_iface->if_status != BATADV_IF_ACTIVE) |
---|
| 126 | + if (hard_iface->if_status != BATADV_IF_ACTIVE) { |
---|
| 127 | + kfree_skb(skb); |
---|
127 | 128 | return; |
---|
| 129 | + } |
---|
128 | 130 | |
---|
129 | 131 | batadv_inc_counter(bat_priv, BATADV_CNT_MGMT_TX); |
---|
130 | 132 | batadv_add_counter(bat_priv, BATADV_CNT_MGMT_TX_BYTES, |
---|
.. | .. |
---|
998 | 1000 | { |
---|
999 | 1001 | struct batadv_priv *bat_priv = netdev_priv(if_incoming->soft_iface); |
---|
1000 | 1002 | struct batadv_ogm2_packet *ogm_packet; |
---|
1001 | | - struct ethhdr *ethhdr = eth_hdr(skb); |
---|
| 1003 | + struct ethhdr *ethhdr; |
---|
1002 | 1004 | int ogm_offset; |
---|
1003 | 1005 | u8 *packet_pos; |
---|
1004 | 1006 | int ret = NET_RX_DROP; |
---|
.. | .. |
---|
1012 | 1014 | if (!batadv_check_management_packet(skb, if_incoming, BATADV_OGM2_HLEN)) |
---|
1013 | 1015 | goto free_skb; |
---|
1014 | 1016 | |
---|
| 1017 | + ethhdr = eth_hdr(skb); |
---|
1015 | 1018 | if (batadv_is_my_mac(bat_priv, ethhdr->h_source)) |
---|
1016 | 1019 | goto free_skb; |
---|
1017 | 1020 | |
---|