[2/2] batman-adv: properly align roaming tvlv container
Commit Message
4bytes long members must start at an address multiple of 4
in order to avoid unaligned memory access.
Introduced by 3de4e64df0f1326db7cc0ef25f5af8522850252d
"batman-adv: tvlv - convert roaming adv packet to use
tvlv unicast packets"
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
---
packet.h | 4 +++-
translation-table.c | 1 +
2 files changed, 4 insertions(+), 1 deletion(-)
Comments
On Sunday, May 26, 2013 06:15:21 Marek Lindner wrote:
> 4bytes long members must start at an address multiple of 4
> in order to avoid unaligned memory access.
>
> Introduced by 3de4e64df0f1326db7cc0ef25f5af8522850252d
> "batman-adv: tvlv - convert roaming adv packet to use
> tvlv unicast packets"
>
> Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
> ---
> packet.h | 4 +++-
> translation-table.c | 1 +
> 2 files changed, 4 insertions(+), 1 deletion(-)
Applied in revision 05a7111.
Regards,
Marek
@@ -389,9 +389,11 @@ struct batadv_tvlv_tt_change {
/**
* struct batadv_tvlv_roam_adv - roaming advertisement
* @client: mac address of roaming client
+ * @reserved: field reserved for future use
*/
struct batadv_tvlv_roam_adv {
- uint8_t client[ETH_ALEN];
+ uint8_t client[ETH_ALEN];
+ uint16_t reserved;
};
#endif /* _NET_BATMAN_ADV_PACKET_H_ */
@@ -2208,6 +2208,7 @@ static void batadv_send_roam_adv(struct batadv_priv *bat_priv, uint8_t *client,
batadv_inc_counter(bat_priv, BATADV_CNT_TT_ROAM_ADV_TX);
memcpy(tvlv_roam.client, client, sizeof(tvlv_roam.client));
+ tvlv_roam.reserved = 0;
batadv_tvlv_unicast_send(bat_priv, primary_if->net_dev->dev_addr,
orig_node->orig, BATADV_TVLV_ROAM, 1,