mirror of https://gitee.com/openkylin/linux.git
batman-adv: avoid skb_linearise() if not needed
Whenever we want to access headers only, we do not need to linearise the whole packet. Instead we can use pskb_may_pull() Signed-off-by: Antonio Quartulli <ordex@autistici.org>
This commit is contained in:
parent
f96a8a0b78
commit
8710e2613a
|
@ -916,8 +916,9 @@ static int check_unicast_ttvn(struct bat_priv *bat_priv,
|
|||
|
||||
/* Check whether I have to reroute the packet */
|
||||
if (seq_before(unicast_packet->ttvn, curr_ttvn) || tt_poss_change) {
|
||||
/* Linearize the skb before accessing it */
|
||||
if (skb_linearize(skb) < 0)
|
||||
/* check if there is enough data before accessing it */
|
||||
if (pskb_may_pull(skb, sizeof(struct unicast_packet) +
|
||||
ETH_HLEN) < 0)
|
||||
return 0;
|
||||
|
||||
ethhdr = (struct ethhdr *)(skb->data +
|
||||
|
|
Loading…
Reference in New Issue