On Wed, Dec 14, 2016 at 09:28:33PM +0100, Sven Eckelmann wrote:
On Donnerstag, 6. Oktober 2016 08:41:39 CET Linus Lüssing wrote:
struct batadv_elp_packet { u8 packet_type; @@ -247,6 +258,8 @@ struct batadv_elp_packet { u8 orig[ETH_ALEN]; __be32 seqno; __be32 elp_interval;
__be16 reserved;
__be16 tvlv_len;
};
Um, you simply increase the size of the elp_packet? Isn't this potentially breaking compat with older versions? batadv_v_elp_packet_recv is using BATADV_ELP_HLEN (sizeof(struct batadv_elp_packet)) as minimal size/header_len in batadv_check_management_packet.
Only thing saving you here is the padding on some links. But this padding could cause some odd behaviour in batadv_tvlv_containers_process2 when tvlv_len is bogus/padding.
Urgh, could catch, you're right.
Luckily, it seems like it's only breaking compatibility in one direction. And it's the direction where a non-compatibility breaking solution is possible.