Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dc58fe32 authored by Antonio Quartulli's avatar Antonio Quartulli Committed by Sven Eckelmann
Browse files

batman-adv: linearise the tt_response skb only if needed



The TT_RESPONSE skb has to be linearised only if the node plans to access the
packet payload (so only if the message is directed to that node). In all the
other cases the node can avoid this memory operation

Signed-off-by: default avatarAntonio Quartulli <ordex@autistici.org>
Signed-off-by: default avatarSven Eckelmann <sven@narfation.org>
parent d099c2c5
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -616,13 +616,14 @@ int recv_tt_query(struct sk_buff *skb, struct hard_iface *recv_if)
		}
		break;
	case TT_RESPONSE:
		/* packet needs to be linearized to access the TT changes */
		if (is_my_mac(tt_query->dst)) {
			/* packet needs to be linearized to access the TT
			 * changes */
			if (skb_linearize(skb) < 0)
				goto out;

		if (is_my_mac(tt_query->dst))
			handle_tt_response(bat_priv, tt_query);
		else {
		} else {
			bat_dbg(DBG_TT, bat_priv,
				"Routing TT_RESPONSE to %pM [%c]\n",
				tt_query->dst,