linux/net/batman-adv
Antonio Quartulli d2b6cc8e46 batman-adv: fix skb->data assignment
skb_linearize(skb) possibly rearranges the skb internal data and then changes
the skb->data pointer value. For this reason any other pointer in the code that
was assigned skb->data before invoking skb_linearise(skb) must be re-assigned.

In the current tt_query message handling code this is not done and therefore, in
case of skb linearization, the pointer used to handle the packet header ends up
in pointing to poisoned memory. The packet is then dropped but the
translation-table mechanism is corrupted.

Signed-off-by: Antonio Quartulli <ordex@autistici.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
2012-06-18 18:00:56 +02:00
..
bat_algo.h batman-adv: Update copyright years 2012-02-17 02:50:21 +08:00
bat_debugfs.c batman-adv: replace HZ calculations with jiffies_to_msecs() 2012-05-11 10:08:13 +02:00
bat_debugfs.h batman-adv: Update copyright years 2012-02-17 02:50:21 +08:00
bat_iv_ogm.c batman-adv: prepare lq_update_lock to be shared among different protocols 2012-05-13 19:06:39 +02:00
bat_sysfs.c batman-adv: Adding hard_iface specific sysfs wrapper macros for UINT 2012-05-11 13:56:03 +02:00
bat_sysfs.h batman-adv: Update copyright years 2012-02-17 02:50:21 +08:00
bitarray.c batman-adv: Replace bitarray operations with bitmap 2012-04-11 14:28:58 +02:00
bitarray.h batman-adv: Replace bitarray operations with bitmap 2012-04-11 14:28:58 +02:00
bridge_loop_avoidance.c batman-adv: update copyright years 2012-05-11 13:56:07 +02:00
bridge_loop_avoidance.h batman-adv: update copyright years 2012-05-11 13:56:07 +02:00
gateway_client.c batman-adv: fix wrong dhcp option list browsing 2012-05-11 10:08:08 +02:00
gateway_client.h batman-adv: Update copyright years 2012-02-17 02:50:21 +08:00
gateway_common.c batman-adv: Ignore 80-chars per line limits for strings 2012-03-11 06:29:44 +08:00
gateway_common.h batman-adv: Update copyright years 2012-02-17 02:50:21 +08:00
hard-interface.c batman-adv: use shorter pr_warn instead of pr_warning 2012-05-13 19:06:41 +02:00
hard-interface.h batman-adv: Update copyright years 2012-02-17 02:50:21 +08:00
hash.c batman-adv: Update copyright years 2012-02-17 02:50:21 +08:00
hash.h batman-adv: Update copyright years 2012-02-17 02:50:21 +08:00
icmp_socket.c batman-adv: use ETH_HLEN instead of sizeof(struct ethhdr) 2012-04-18 09:54:01 +02:00
icmp_socket.h batman-adv: Update copyright years 2012-02-17 02:50:21 +08:00
Kconfig batman-adv: add bridge loop avoidance compile option 2012-04-11 14:29:00 +02:00
main.c batman-adv: refactoring API: find generalized name for bat_ogm_update_mac callback 2012-05-11 13:56:01 +02:00
main.h batman-adv: update internal version number 2012-06-18 18:00:56 +02:00
Makefile batman-adv: add bridge loop avoidance compile option 2012-04-11 14:29:00 +02:00
originator.c batman-adv: prepare lq_update_lock to be shared among different protocols 2012-05-13 19:06:39 +02:00
originator.h batman-adv: split neigh_new function into generic and batman iv specific parts 2012-05-11 13:55:57 +02:00
packet.h batman-adv: avoid temporary routing loops by being strict on forwarded OGMs 2012-05-11 13:56:05 +02:00
ring_buffer.c batman-adv: Update copyright years 2012-02-17 02:50:21 +08:00
ring_buffer.h batman-adv: Update copyright years 2012-02-17 02:50:21 +08:00
routing.c batman-adv: fix skb->data assignment 2012-06-18 18:00:56 +02:00
routing.h batman-adv: register batman ogm receive function during protocol init 2012-05-11 10:08:11 +02:00
send.c batman-adv: use shorter pr_warn instead of pr_warning 2012-05-13 19:06:41 +02:00
send.h batman-adv: Update copyright years 2012-02-17 02:50:21 +08:00
soft-interface.c batman-adv: use ETH_HLEN instead of sizeof(struct ethhdr) 2012-04-18 09:54:01 +02:00
soft-interface.h batman-adv: remove old bridge loop avoidance code 2012-04-11 14:28:58 +02:00
translation-table.c batman-adv: unset the TT_CLIENT_PENDING flag if the new local entry already exists 2012-05-14 09:05:08 +02:00
translation-table.h batman-adv: improve unicast packet (re)routing 2012-05-13 19:06:38 +02:00
types.h batman-adv: prepare lq_update_lock to be shared among different protocols 2012-05-13 19:06:39 +02:00
unicast.c batman-adv: improve unicast packet (re)routing 2012-05-13 19:06:38 +02:00
unicast.h batman-adv: Update copyright years 2012-02-17 02:50:21 +08:00
vis.c batman-adv: use ETH_HLEN instead of sizeof(struct ethhdr) 2012-04-18 09:54:01 +02:00
vis.h batman-adv: Update copyright years 2012-02-17 02:50:21 +08:00