Message ID | 20160823011303.18487-1-linus.luessing@c0d3.blue |
---|---|
State | Accepted, archived |
Commit | 0b75ad13f3f38d8d84e2f4af37c0e13d77040bc1 |
Delegated to: | Marek Lindner |
Headers | show |
On Dienstag, 23. August 2016 03:13:03 CEST Linus Lüssing wrote: > The skb_reserve() call only reserved headroom for the mac header, but > not the elp packet header itself. > > Fixing this by using skb_put()'ing towards the skb tail instead of > skb_push()'ing towards the skb head. > > Fixes: a4b88af77e28 ("batman-adv: ELP - adding basic infrastructure") > Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue> > --- Reviewed-by: Sven Eckelmann <sven@narfation.org> Kind regards, Sven
On Tuesday, August 23, 2016 8:32:26 AM HKT Sven Eckelmann wrote: > On Dienstag, 23. August 2016 03:13:03 CEST Linus Lüssing wrote: > > The skb_reserve() call only reserved headroom for the mac header, but > > not the elp packet header itself. > > > > Fixing this by using skb_put()'ing towards the skb tail instead of > > skb_push()'ing towards the skb head. > > > > Fixes: a4b88af77e28 ("batman-adv: ELP - adding basic infrastructure") > > Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue> > > --- > > Reviewed-by: Sven Eckelmann <sven@narfation.org> Applied in revision 0b75ad1. Thanks, Marek
diff --git a/net/batman-adv/bat_v_elp.c b/net/batman-adv/bat_v_elp.c index df42eb1..63762b3 100644 --- a/net/batman-adv/bat_v_elp.c +++ b/net/batman-adv/bat_v_elp.c @@ -334,7 +334,7 @@ int batadv_v_elp_iface_enable(struct batadv_hard_iface *hard_iface) goto out; skb_reserve(hard_iface->bat_v.elp_skb, ETH_HLEN + NET_IP_ALIGN); - elp_buff = skb_push(hard_iface->bat_v.elp_skb, BATADV_ELP_HLEN); + elp_buff = skb_put(hard_iface->bat_v.elp_skb, BATADV_ELP_HLEN); elp_packet = (struct batadv_elp_packet *)elp_buff; memset(elp_packet, 0, BATADV_ELP_HLEN);
The skb_reserve() call only reserved headroom for the mac header, but not the elp packet header itself. Fixing this by using skb_put()'ing towards the skb tail instead of skb_push()'ing towards the skb head. Fixes: a4b88af77e28 ("batman-adv: ELP - adding basic infrastructure") Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue> --- Changes in v2: * just switch from skb_push() to skb_put() => skb_put() actually returns the right point in the skb and is equivalent to a second skb->data assignment after skb_put() in this case * batamn-adv -> batman-adv * explicitly directed to maint net/batman-adv/bat_v_elp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)