| .. | .. |
|---|
| 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 | |
|---|