Staging: batman-adv: fix crash when new OGM is generated
If aggregation is not enabled the local translation table can grow much bigger and expects to fill a full ethernet packet. Reported-by: Sam Yeung <sam.cwyeung@gmail.com> Signed-off-by: Marek Lindner <lindner_marek@yahoo.de> Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
24fb009bae
commit
15f00687e3
@ -123,8 +123,14 @@ static void new_aggregated_packet(unsigned char *packet_buff, int packet_len,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
forw_packet_aggr->skb = dev_alloc_skb(MAX_AGGREGATION_BYTES +
|
if ((atomic_read(&bat_priv->aggregation_enabled)) &&
|
||||||
sizeof(struct ethhdr));
|
(packet_len < MAX_AGGREGATION_BYTES))
|
||||||
|
forw_packet_aggr->skb = dev_alloc_skb(MAX_AGGREGATION_BYTES +
|
||||||
|
sizeof(struct ethhdr));
|
||||||
|
else
|
||||||
|
forw_packet_aggr->skb = dev_alloc_skb(packet_len +
|
||||||
|
sizeof(struct ethhdr));
|
||||||
|
|
||||||
if (!forw_packet_aggr->skb) {
|
if (!forw_packet_aggr->skb) {
|
||||||
if (!own_packet)
|
if (!own_packet)
|
||||||
atomic_inc(&bat_priv->batman_queue_left);
|
atomic_inc(&bat_priv->batman_queue_left);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user